<문제 제시>
<예시 입출력>
<문제 해결 과정>
윤년 예제는 프로그래밍을 처음 접할때나, 과제를 할 때 많이 보는 예제이다.
Scanner 클래스를 이용해 년도를 입력받고 1 또는 0을 출력하여 윤년을 판별할 수 있다.
이번 풀이에서는 Scanner 클래스 대신 BufferedReader를 사용하고자 한다.
% (나머지) 연산과 / (나눗셈) 연산, !=, || 논리연산 등을 적절히 써줘야하는 문제이다.
<전체코드>
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
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) {
if((year % 100) != 0 || year % 400 == 0) {
System.out.println("1");
}
else System.out.println("0");
}
else System.out.println("0");
}
}
BufferedReader로 읽은 한 줄의 문자를 int year 변수에 한번에 처리하였다.
if문 조건을 통해서 윤년을 판별해야했다.
먼저 4년주기로 윤년이 찾아오므로 4로 나눈 나머지가 0이게 되면 윤년이다.
다음 조건으로 100년마다는 윤년으로 치지않고, 400년마다는 윤년으로 친다.
그 조건 또한 != 와 || 연산을 이용해서 적용하였다.
'Algorithms > 백준' 카테고리의 다른 글
[백준] 2525번 '오븐 시계' - Java (0) | 2022.09.04 |
---|---|
[백준] 2884번 '알람 시계' - Java (0) | 2022.09.03 |
[백준] 10172번 '개' - Java (2) | 2022.09.01 |
[백준] 10430번 '나머지' - Java (0) | 2022.08.31 |
[백준] 18108번 '1998년생인 내가 태국에서는 2541년생?!' - Java (0) | 2022.08.30 |