티스토리 뷰

알고리즘

백준 알고리즘 2753번

Greatshine 2022. 9. 6. 15:49

 

 

https://www.acmicpc.net/problem/2753

 

2753번: 윤년

연도가 주어졌을 때, 윤년이면 1, 아니면 0을 출력하는 프로그램을 작성하시오. 윤년은 연도가 4의 배수이면서, 100의 배수가 아닐 때 또는 400의 배수일 때이다. 예를 들어, 2012년은 4의 배수이면서

www.acmicpc.net

 

 

 

문제를 보며 유의해야 할 점은 '윤년은 4의 배수이면서, 100의 배수가 아닐 때 또는 400의 배수일 때이다.' 

문제 흐름 상 100의 배수도 윤년이구나 하며 풀었는데 자세히 보니 100의 배수가 아닐 때였다.

 

 

정답

 

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
import java.util.Scanner;
 
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 == 0System.out.println(1);
         else if(a%100 == 0System.out.println(0);
         else System.out.println(1);
      } else System.out.println(0);
 
   } 
 
}  
cs

 

 

조건을 해석하자면


만약 a나머지 4가 0이라면 {

만약 a나머지 4가 0이고 a나머지 400이 0이라면 1을 출력

만약 a나머지 4가 0이고 a나머지 100이 0이라면 0을 출력

만약 a 나머지 4가 0이면 1을 출력

} a 나머지 4가 0이 아니라면 0을 출력


정도로 해석하면 될 것 같다.

 

 

 

'알고리즘' 카테고리의 다른 글

백준 알고리즘 10171번  (0) 2022.08.30
백준 알고리즘 2588번  (0) 2022.08.29
백준 알고리즘 10430번 문제  (0) 2022.08.28
백준 알고리즘 3003번  (2) 2022.08.27
백준 알고리즘 18108번  (0) 2022.08.25
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2026/09   »
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
글 보관함