Algorithm/Java
[백준/자바] 2753번 해설 - Java
isshosng
2022. 1. 15. 20:37
https://www.acmicpc.net/problem/2753
2753번: 윤년
연도가 주어졌을 때, 윤년이면 1, 아니면 0을 출력하는 프로그램을 작성하시오. 윤년은 연도가 4의 배수이면서, 100의 배수가 아닐 때 또는 400의 배수일 때이다. 예를 들어, 2012년은 4의 배수이면서
www.acmicpc.net
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
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");
}
}
|
cs |
tip)
- in.close() 해주기.
- if 안에 if 넣는 것 알기.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
|
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.IOException;
// BufferedReader는 객체 생성시 생성자의 입력값으로 InputStreamReader의 객체가 필요함
// InputStreamReader - character / BufferedReader - String
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String str = br.readLine();
// readLine method를 쓸 때 InputStream==null일 경우 오류가 생기므로 예외처리를 함
// readLine : String 값으로 개행 문자를 포함하여 읽음
int y = Integer.parseInt(str);
// Integer.parseInt(String) : 문자열을 인자값으로 받으면 해당 값을 10진수의 Integer형으로 변환
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");
// System.out.print((y%4==0)?((y%400==0)?"1":(y%100==0)?"0":"1"):"0");
}
}
|
cs |
tip)
- BufferedReader가 Scanner보다 더 빠름을 알 수 있다.
반응형