반응형
- 알고리즘
조건을 보면 4의 배수는 윤년으로 1을 출력하지만 100의 배수일 경우 윤년이 아니라 0을 출력해야한다.
다만, 400의 배수일 경우는 윤년으로 본다.
기본 알고리즘은 먼저 4의 배수인지 여부를 본 뒤 4의 배수일 경우 400으로 나뉘어 떨어지는지, 100으로 나뉘어 떨어지는지 여부를 검사한다.
즉,
1-1 단계 : 4의 배수일 경우 - if ( year%4==0 )
2-1 단계 : 4의 배수이면서 400의 배수일 경우 - if ( year%400 == 0 )
2-2 단계 : 4의 배수이면서 100의 배수일 경우 - else if ( year%100 == 0 )
2-3 단계 : 2단계 조건식 나머지 - else
1-2 단계 : 1 단계 조건식 나머지 - else
이러한 구조로 본다.
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.IOException;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int y = Integer.parseInt(br.readLine());
if(y%4==0) {
if(y%400==0) System.out.println("1");
else if(y%100==0) System.out.println("0");
else System.out.println("1");
}
else System.out.println("0");
}
}
'코딩 > BAEKJOON' 카테고리의 다른 글
[백준/BAEKJOON] 2884번 알람시계 JAVA (0) | 2021.08.10 |
---|---|
[백준/BAEKJOON] 14681번 사분면 JAVA (0) | 2021.08.10 |
[백준/BAEKJOON] 9498번 시험 성적 JAVA (0) | 2021.08.09 |
[백준/BAEKJOON] 1330번 두 수 비교하기 JAVA (0) | 2021.08.09 |
[백준/BAEKJOON] 2588번 곱셈 JAVA (0) | 2021.08.09 |