윤년 풀이

2023. 6. 12. 10:01BaekJoon/조건문

문제내용

사용자에게 정수를 입력받고 윤년의 조건에 충족하면 1 충족하지 않으면 0을 출력하는 문제이다.(윤년은 4의 배수이면서 100의 배수가 아닐 때 또는 400의 배수)


풀이

import java.util.Scanner;

public class Main {

	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		int num1 = sc.nextInt();
		if(num1%4==0 && (num1%400==0 || num1%100!=0)){
			System.out.println("1");
		}else {
			System.out.println("0");
		}
	}

}

풀이는 간단하다. 먼저 사용자에게 연도를 입력받기 위해 Scanner를 사용했다.

4의 배수 이면서 100의 배수가 아닐 때 또는 400의 배수이다. 라는 조건을 충족시키려면 "이면서"는 and "또는"은 or 연산자를 사용하면된다. 그 결과는 아래와 같다.

4의 배수 && (100의 배수가 아님 || 400배수)

뒤의 조건에 괄호를 친 이유는 괄호를 치지 않으면 4의 배수이면서 100의 배수가 아님을 먼저 확인하기 때문이다. 그렇기 때문에 선후수 관계를 명확히 하고자 뒤의 조건에 괄호를 사용했다.


겪었던 내용

아직까지도 막힌 부분이 있진 않았다. 막히면 얼마나 어려울지 상상이 되지 않는다....

'BaekJoon > 조건문' 카테고리의 다른 글

오븐 시계 풀이  (0) 2023.06.12
알람 시계 풀이  (0) 2023.06.12
사분면 고르기 풀이  (0) 2023.06.12
시험 성적 풀이  (0) 2023.06.12
두 수 비교하기 풀이  (0) 2023.06.08