본문 바로가기
Etc/백준(JAVA) 문제풀이

[백준] 2753번 Java 문제풀이

by pplucy 2021. 1. 7.

 

해당 년도가 윤년인지 아닌지 알아내는 문제 !

 

 

 

 

이 문제는 조건문 처리만 잘해주면 되는 문제이다.

먼저 윤년은 4의배수이면서 100의 배수가 아닐 때,

혹은 4의 배수이면서 동시에 400의 배수일 때

이렇게 총 2가지?의 조건이라고 보면 된다.

 

먼저 if문에 4의 배수인 경우를 넣어주고 4의 배수가 아닐 경우엔

0을 출력하게 해준다.

 

if문 안에서는 또 다른 if 문을 사용해야하는데

이 때는 해당연도가 100의 배수가 아니거나 || 400의 배수일 때의 

조건을 넣어주면 되기 때문에 

년도를 100으로 나눴을 때 나머지가 0이 아닌 경우 ||

년도를 400으로 나눴을 때 나머지가 0인 경우

이렇게 두가지 조건을 넣어주었다.

 

(4의 배수여야하고 + 100의 배수라면 윤년이 아님 ! 하지만 예외적으로 400의 배수일 경우엔 윤년!)

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
import java.util.*;
 
public class Main {
 
        public static void main(String[] args){
            
        Scanner sc = new Scanner(System.in);
        int A = sc.nextInt();
       
        if(A >= 1 && A <= 4000) {
            if(A % 4 == 0) {
                if(A % 100 != 0 || A % 400 == 0) {
                    System.out.println("1");
                } else {
                    System.out.println("0");
                }
                
            } else {
                System.out.println("0");
            }
 
        
        } else {
            System.out.println("0");            
        }
            
        
       
        
 
}
}
cs

댓글