개발하자

[백준][Java] 2753번 윤년 본문

Algorithms/Baekjoon

[백준][Java] 2753번 윤년

개발리미 2025. 4. 20. 14:49
728x90

안녕하세요 :)

적어도 하루 1개 이상 알고리즘 문제를 해결하려 노력하고 있습니다.

혼자 해결 가능한 문제도 있고, 어려웠던 문제도 있던 차라 복습하고자  글을 써 내려갑니다.

 


 

백준 2753 윤년

이 문제는 윤년의 조건을 파악하고, 해당 조건에 맞게 출력하는 간단한 조건문 문제입니다.

 

📘 문제

 

💡 해결 방법

윤년의 조건은 다음과 같습니다.

" 4로 나누어 떨어지면서 100으로 나누어 떨어지지 않거나, 400으로 나누어 떨어지는 해"

 

✅ 풀이 및 설명 (설명은 더보기 클릭)

더보기

 

  • BufferedReader를 사용하여 연도를 입력받습니다.
  • 입력된 연도를 정수로 변환한 후, 위의 조건에 따라 판단합니다.
  • 조건에 맞게 1 또는 0을 출력합니다.

 

import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.IOException;

public class Main {
    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        
        int year = Integer.parseInt(br.readLine());
        
        if ((year % 4 == 0) && (year % 100 != 0 || year % 400 == 0)) {
            System.out.println(1);
        } else {
            System.out.println(0);
        }

        br.close();
    }
}

 

윤년의 조건이 생각보다 복잡할 수 있지만, 차근차근 조건을 정리하면 어렵지 않게 풀 수 있는 문제입니다.

특히 && , || 괄호의 우선순위를 잘 이해하고 사용해야 정확한 결과를 얻을 수 있습니다.

 


공부하면서 유용했던 부분 메모 겸 공유하고자 끄적입니다.

고쳐야 하는 부분 있다면 댓글 남겨주시면 수정하겠습니다.

행복한 하루 보내세요 (❁´◡`❁)

728x90
반응형