윤년

문제 풀러가기

2753

코드

import java.util.*;

public class Main {
  public static void main(String[] args) {
    Scanner sc = new Scanner(System.in);
    int y = sc.nextInt();

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

설명

주어진 조건을 만족하면 1, 아니면 0을 반환하게 만들면 된다.

4의 배수이면서, 100의 배수가 아닐 때 또는 400의 배수일 때가 조건이다.

위 코드처럼 풀어서 작성해도 되고 조건식으로 작성해도 된다.

  if(y % 4 == 0 && (y % 100 != 0 || y  % 400 == 0))
    System.out.println("1");
  else
    System.out.println("0");

혹은

  System.out.println((y % 4 != 0) ? "0" : (y % 100 != 0 | y % 400 == 0) ? "1" : "0");

로 나타낼수도 있다.