반응형
[1] 백준 카테고리
단계별로 풀어보기
if문
3단계 2753번 문제
윤년
[2] 문제
연도가 주어졌을 때, 윤년이면 1, 아니면 0을 출력하는 프로그램을 작성하시오.
윤년은 연도가 4의 배수이면서, 100의 배수가 아닐 때 또는 400의 배수일 때이다.
예를 들어, 2012년은 4의 배수이면서 100의 배수가 아니라서 윤년이다. 1900년은 100의 배수이고 400의 배수는 아니기 때문에 윤년이 아니다. 하지만, 2000년은 400의 배수이기 때문에 윤년이다.
1. 입력값
첫째 줄에 연도가 주어진다. 연도는 1보다 크거나 같고, 4000보다 작거나 같은 자연수이다.
2. 출력
첫째 줄에 윤년이면 1, 아니면 0을 출력한다.
3. 예제 입력1
2000
4. 예제 출력 1
1
5. 예제 입력1
1999
6. 예제 출력 1
0
[3] 정답
1. 해설 포함
import java.util.Scanner;
/* Scanner 사용을 위해서 java.util.Scanner를
import 한다. */
public class Main {
/* 클래스명 Main를 선언한다. 백준에서는 클래스명이 Main
이여야지 오류가 발생하지 않는다.
public static void main(String[] args) {
/* 접근제어자 public으로 메모리에 상주하고 return 값이
없게 함수 main을 선언한다. */
Scanner sc = new Scanner(System.in);
/* Scanner 객체 sc를 선언한다.
이제 값을 입력 받을 수 있다. */
int num1 = sc.nextInt();
// 값을 입력받아 변수 num1에 저장한다.
if(num1 % 4 == 0 && num1 % 100 != 0)
/* 변수 num1에 저장된 값을 4로 나눌때 나머지가 0이면서
변수 num1에 저장된 값을 100으로 나눌때 나머지가 0이
아니면 대괄호 안의 코드를 실행한다. */
{
System.out.print("1");
// 1를 출력한다.
}
else if(num1 % 400 == 0)
/* if문 조건에 해당이 안되었을 경우 else if문의
조건을 시험한다. */
{
System.out.print("1");
// 1를 출력한다.
}
else
/* 위의 조건문에서 조건을 시험했는데 전부 해당되지 않을 경우
밑의 대괄호 안에 있는 코드가 실행된다. */
{
System.out.print("0");
// 0을 출력한다.
}
}
}
2. 해설 미포함(정답만)
import java.util.Scanner;
public class Main {
public Main() {
}
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int num1 = sc.nextInt();
if(num1 % 4 == 0 && num1 % 100 != 0)
{
System.out.print("1");
}
else if(num1 % 400 == 0)
{
System.out.print("1");
}
else
{
System.out.print("0");
}
}
}
반응형
'프로그래밍 > 백준 문제 풀이(자바)' 카테고리의 다른 글
백준 자바 알람 시계 문제 답/해설(2884번 문제) (0) | 2021.06.17 |
---|---|
백준 자바 사분면 고르기 문제 답/해설(14681번 문제) (0) | 2021.06.17 |
백준 자바 시험성적 문제 답/해설(9498번 문제) (0) | 2021.06.15 |
백준 자바 두 수 비교하기 문제 답/해설(1330번 문제) (0) | 2021.06.15 |
백준 자바 곱셈 문제 답/해설(2588번 문제) (0) | 2021.06.13 |