https://www.acmicpc.net/problem/2753
2753번: 윤년
연도가 주어졌을 때, 윤년이면 1, 아니면 0을 출력하는 프로그램을 작성하시오. 윤년은 연도가 4의 배수이면서, 100의 배수가 아닐 때 또는 400의 배수일 때이다. 예를 들어, 2012년은 4의 배수이면서
www.acmicpc.net
구현 방법
입력 방식
- Scanner
- BufferedReader
readLine()으로 입력 받아 연산
이때 String 타입으로 입력되기에 Integer.parseInt()를 통해 String ➡ int으로 형변환 필수
조건 필터 방식
- if 문
- if 문 + 삼항연산자
풀이
1.1. Scanner + if 문
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
//입력
Scanner in = new Scanner(System.in);
int y = in.nextInt();
in.close();
//조건 필터
if(y % 4 == 0) {
if(y % 400 == 0) System.out.println("1");
else if(y % 100 == 0) System.out.println("0");
else System.out.println("1");
}
else System.out.println("0");
}
}
1.2. Scanner + if 문 + 삼항연산자
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
//입력
Scanner in = new Scanner(System.in);
int y = in.nextInt();
in.close();
//조건 필터
System.out.print((y % 4 == 0) ? ((y % 400 == 0) ? "1" : (y % 100 == 0) ? "0" : "1") : "0");
}
}
2.1. BufferedReader + if 문
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 y = Integer.parseInt(br.readLine());
//조건 필터
if(y % 4 == 0) {
if(y % 400 == 0) System.out.println("1");
else if(y % 100 == 0) System.out.println("0");
else System.out.println("1");
}
else System.out.println("0");
}
}
2.2. BufferedReader + if 문 + 삼항연산자
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 y = Integer.parseInt(br.readLine());
//조건 필터
System.out.print((y % 4 == 0) ? ((y % 400 == 0) ? "1":(y % 100 == 0) ? "0" : "1") : "0");
}
}
성능
- BufferedReader > Scanner
'Algorithm > Baekjoon' 카테고리의 다른 글
[백준] 2884번 : 알람 시계 - Java (0) | 2022.02.16 |
---|---|
[백준] 14681번: 사분면 고르기 - Java (0) | 2022.02.15 |
[백준] 9498번 : 시험 성적 - Java (0) | 2022.02.10 |
[백준] 1330번 : 두 수 비교하기 - Java (0) | 2022.02.09 |
[백준] 2588번 : 곱셈 - Java (0) | 2022.02.08 |
댓글