본문 바로가기

Programming/알고리즘

[백준] 2753 - 윤년 -JAVA[자바]

 

 

조건 중에 가장 강한 것을 찾는게 포인트이다.

 

"4의 배수 " 조건을 가장 먼저 갖고 오는게 맞다고 생각하기 쉽상인데,

 

사실상 이 문제에서는

"400의 배수" 조건을 먼저 놓는 것이 좋다.

 

왜냐하면, 400의 배수라면 다른 조건을 생각하지 않고서도 무조건 윤년이기 때문이다.

 

 

 

그 뒤에 100의 배수의 조건을 넣는다. 

400의 배수 조건이 없다면 

100의 배수일 때는 무조건 윤년이 아니기 때문이다.

 

그 뒤에야 4의 배수 조건이 와야하는 것이 맞다.

 

import java.io.InputStreamReader;
import java.io.IOException;
import java.io.BufferedReader;

public class Main {
    public static void main(String[] args)throws IOException{
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        
        int a = Integer.parseInt(br.readLine());
        
        System.out.print((a%400 == 0) ? 1 :(a%100 == 0) ? 0 : (a%4 == 0) ? 1 : 0);
    }
}