반응형
안녕하세요! Plitche(플리체)입니다.
이번 포스팅의 주제는 Q1166 : 윤년 판별 (자바, JAVA)입니다.
intro
Question
문제 설명
입력
해(year)가 입력된다.
출력
윤년이면 "yes"를 출력, 윤년이 아니면 "no"를 출력하시오.
예시
입력 : 2012
출력 : yes
Solution (풀이)
풀이 1 : 메모리 11240, 시간 95
public class Answer1 {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int year = Integer.parseInt(br.readLine());
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
// 4의 배수이면서 100의 배수가 아니거나, 400의 배수일 때 (둘 중 하나라도 해당되면)
bw.append( (year%4==0 && year%100!=0) || (year%400==0) ? "yes" : "no" );
bw.flush();
bw.close();
}
}
풀이 2 : 메모리 11164, 시간 66
public class Answer2 {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int year = Integer.parseInt(br.readLine());
// 4의 배수이면서 100의 배수가 아니거나, 400의 배수일 때 (둘 중 하나라도 해당되면)
System.out.print( (year%4==0 && year%100!=0) || (year%400==0) ? "yes" : "no" );
}
}
메모리와 시간을 확인해보면 알 수 있듯이, 출력해야하는 데이터가 단순하거나 하나일 때에는 굳이 다른 클래스를 이용하여 출력하는 것 보다 바로 그 값을 출력하는 것이 훨신 속도에 도움이 된다.
System.out.println(); 메소드보다 System.out.print();가 속도적인 측면에서는 더 낫기 떄문에 굳이 줄바꿈을 할 필요가 없다면 주의하길 바란다.
Ranking(순위)
반응형
'Algorithm > CodeUp' 카테고리의 다른 글
[CodeUp_Java] Q1168 : 나이 계산 1 (0) | 2022.05.03 |
---|---|
[CodeUp_Java] Q1167 : 두 번째 수 (0) | 2022.05.03 |
[CodeUp_Java] Q1165 : 축구의 신1 (0) | 2022.04.29 |
[CodeUp_Java] Q1117 : 두 실수의 곱 (0) | 2022.04.29 |
[CodeUp_Java] Q1103 : 폴더명 출력 (0) | 2022.04.29 |