문제
연도가 주어졌을 때, 윤년이면 1, 아니면 0을 출력하는 프로그램을 작성하시오.
윤년은 연도가 4의 배수이면서, 100의 배수가 아닐 때 또는 400의 배수일 때이다.
예를 들어, 2012년은 4의 배수이면서 100의 배수가 아니라서 윤년이다. 1900년은 100의 배수이고 400의 배수는 아니기 때문에 윤년이 아니다. 하지만, 2000년은 400의 배수이기 때문에 윤년이다.
잔깐 ❗️ 윤년이란 ❓
- 4로 나누어 떨어지는 해는 윤년이다.
- 그 중에서 100으로 나누어 떨어지는 해는 윤년이 아니다.
- 그 중에서 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으로 나누어 떨어져야 하는 조건식을 가지고 있다
'알고리즘 > Swift' 카테고리의 다른 글
Swift) 백준 #2525 - 오븐 시계 (1) | 2023.12.28 |
---|---|
Swift) 백준 #2884 - 알람시계 (0) | 2023.11.29 |
Swift) 백준#9498 - 시험성적 (0) | 2023.11.17 |
Swift) 백준 #1330 - 두 수 비교하기 (0) | 2023.11.16 |
Swift) 백준 #10869 - 사칙연산 (0) | 2023.06.26 |