정리하고기록하자

백준 (JAVA) - 윤년 (2753) 본문

백준 - 알고리즘

백준 (JAVA) - 윤년 (2753)

정리하고기록하자 2021. 10. 11. 22:44
반응형

백준 - 알고리즘 if문 윤년 (2753) 문제

 

문제 :

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

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

예를 들어,

2012년은 4의 배수이면서 100의 배수가 아니라서 윤년이다.

1900년은 100의 배수이고 400의 배수는 아니기 때문에 윤년이 아니다. 

하지만, 2000년은 400의 배수이기 때문에 윤년이다.

 

import java.util.*;
public class Main {
    public static void main(String[] args){
        Scanner sc = new Scanner(System.in);
        int a = sc.nextInt();
        if( a % 4 == 0) {
            if( a % 400 == 0) {
                System.out.println("1");
            } else if( a % 100 == 0 ){
                System.out.println("0");
            } else {
                System.out.println("1");
            }
		} else {
            System.out.println("0");
        }
    }
}

 

위에 문제에

윤년의 연도는 4 배수 이기 때문에 4로 나누었을때 0으로 떨어져야 한다.

0으로 떨어질때는 0으로 출력해야 한다.

0으로 떨어지지 않았을때는 1로 출력해야 한다.

 if( a % 4 == 0) {
 	System.out.println("1");
    
 else {
 
 	System.out.println("0");
    
 }

1900년은 100의 배수이고

400의 배수는 아니기 때문에 윤년이 아니다. 

하지만, 2000년은 400의 배수이기 때문에 윤년이다.

if( a % 400 == 0) {
	System.out.println("1");
} else if( a % 100 == 0 ){
	System.out.println("0");
} else {
	System.out.println("1");
}

 

 

조건에 맞춰 if 문을 추가 했다.

 

반응형