728x90
반응형
백준알고리즘
- Bronze 4 -
#2753. 윤년 by JAVA and node.js
문제
출처: https://www.acmicpc.net/problem/2753
접근 방법
윤년의 정의를 잘 읽고 이해하면 된다.
연도가 4의 배수이면서 100의 배수가 아닐 때 또는 400의 배수일 때
여기서 헷갈릴 수 있는 것이 '400의 배수는 곧 100의 배수이기도 한데, 그러면 4의 배수이면서 100의 배수가 아닐 때와 충돌되지 않나?'이다.
4의 배수이면서 100의 배수가 아닐 때 : 4, 8, 12, 16, ..., 96, 100, 104, ...
400의 배수일 때 : 400, 800, 1600, ...
4의 배수이면서 100의 배수가 아닐 때와 400의 배수일 때의 집합은 배반집합이므로
"또는" 조건에 의해 빨간색(취소선 제외)과 파란색의 합집합을 구하면 된다..
즉, 헷갈릴 필요 없이 입력된 값이 두 조건 중 하나라도 맞으면 1을 반환하면 된다.
풀이
▶ JAVA
import java.util.*;
public class Main {
public static void main(String[] args){
Scanner scan = new Scanner(System.in);
int year = scan.nextInt();
scan.close();
if((year % 4 == 0 && year % 100 != 0) || (year % 400 == 0)) {
System.out.println(1);
} else {
System.out.println(0);
}
}
}
▶ node.js
var fs = require('fs');
var year = fs.readFileSync('/dev/stdin').toString().trim();
if((year % 4 == 0 && year % 100 != 0) || (year % 400 == 0)){
console.log(1);
} else {
console.log(0);
}
결과
End.
heisely's 괴발개발 개발일지
728x90
반응형
'알고리즘 > 백준알고리즘' 카테고리의 다른 글
[백준알고리즘] #5532. 방학 숙제 (by JAVA and node.js) (0) | 2022.04.22 |
---|---|
[백준알고리즘] #4299. AFC 윔블던 (by JAVA and node.js) (0) | 2022.04.22 |
[백준알고리즘] #2588. 곱셈 (by JAVA and node.js) (0) | 2022.04.21 |
[백준알고리즘] #2752. 세 수 정렬 (by JAVA and node.js) (0) | 2022.04.21 |
[백준알고리즘] #2530. 인공지능 시계 (by JAVA and node.js) (0) | 2022.04.21 |