알고리즘
[JAVA] 백준 알고리즘_2753(윤달)
줌인.
2024. 6. 22. 12:24
▶ 백준 알고리즘 2588
https://www.acmicpc.net/problem/2753
[문제]
연도가 주어졌을 때, 윤년이면 1, 아니면 0을 출력하는 프로그램을 작성하시오.
윤년은 연도가 4의 배수이면서, 100의 배수가 아닐 때 또는 400의 배수일 때이다.
예를 들어, 2012년은 4의 배수이면서 100의 배수가 아니라서 윤년이다. 1900년은 100의 배수이고 400의 배수는 아니기
때문에 윤년이 아니다. 하지만, 2000년은 400의 배수이기 때문에 윤년이다.
[예제 입력]
2000
1999
[예제 출력]
1
0
[제출 코드]
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int year = sc.nextInt();
if((year%4==0)&&(year%100!=0)||(year%400==0)) {
System.out.println(1);
} else {
System.out.println(0);
}
}
}
- 윤년은 연도가 4의 배수이면서, 100의 배수가 아닐 때 또는 400의 배수일 때
- 즉 4로 나누어 떨어지고, 400으로 나누어 떨어지거나 100으로 나누어 떨어지지 않을 때를 의미
[초기 실패_문제 활용 小]
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int year = sc.nextInt();
if((year % 4 == 0) && (year % 400 == 0)) {
System.out.println(1);
} else {
System.out.println(0);
}
}
}
- 윤년은 연도가 4의 배수이면서, 100의 배수가 아닐 때 또는 400의 배수일 때이다라는 문장을 활용하지 못함
- 즉 4의 배수와 400의 배수만 활용함
728x90