알고리즘/Swift

Swift) 백준#2753 - 윤년

여미미 2023. 11. 21. 15:59

문제

연도가 주어졌을 때, 윤년이면 1, 아니면 0을 출력하는 프로그램을 작성하시오.

윤년은 연도가 4의 배수이면서, 100의 배수가 아닐 때 또는 400의 배수일 때이다.

예를 들어, 2012년은 4의 배수이면서 100의 배수가 아니라서 윤년이다. 1900년은 100의 배수이고 400의 배수는 아니기 때문에 윤년이 아니다. 하지만, 2000년은 400의 배수이기 때문에 윤년이다.

 

 

잔깐 ❗️ 윤년이란 ❓

  1. 4로 나누어 떨어지는 해는 윤년이다.
  2. 그 중에서 100으로 나누어 떨어지는 해는 윤년이 아니다.
  3. 그 중에서 400으로 나누어 떨어지는 해는 다시 윤년이다.

입력

첫째 줄에 연도가 주어진다. 연도는 1보다 크거나 같고, 4000보다 작거나 같은 자연수이다.

 

출력

첫째 줄에 윤년이면 1, 아니면 0을 출력한다.

 



let line = readLine()!

let number = Int(line)!
if number % 4 == 0 && (number % 100 != 0 || number % 400 == 0) {
    print("1")
} else {
    print("0")
}

 

 

윤년이란 조건을 보면 먼저 입력받은 연도가 4로 나누어 떨어져야 하고

그 조건의 부합하는 숫자가 다시 100으로 나누어 떨어지지 않으면서 400으로 나누어 떨어져야 하는 조건식을 가지고 있다