[백준 알고리즘] Node.js 1340. 연도 진행바
2023. 3. 29. 14:51ㆍ코딩연습
1. 문제
https://www.acmicpc.net/problem/1340
1340번: 연도 진행바
평년일 때, 각 달은 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31일이 있다. 윤년에는 2월이 29일이다. 윤년은 그 해가 400으로 나누어 떨어지는 해 이거나, 4로 나누어 떨어지면서, 100으로 나누어 떨어지지
www.acmicpc.net
2. 풀이
- 1년을 100%로 잡고 입력받은 날짜와 그 해의 1월 1일 00시 00분 빼는 생각으로 진행.
- 1년의 기준은 입력받은 연도의 1월 1일 00시 00분 부터 다음 연도 1월 1일 00시 00분까지로 생각.
const inputs = require('fs').readFileSync('/dev/stdin').toString().trim().split(' ');
let initTime = new Date(`January 1, ${inputs[2]} 00:00`).getTime();
let fullTime = new Date(`January 1, ${Number(inputs[2])+1} 00:00`).getTime();
let nowTime = new Date(`${inputs[0]} ${inputs[1]} ${inputs[2]} ${inputs[3]}`).getTime();
let denominator = fullTime - initTime; // 1년 동안의 timestamp 값
let numerator = nowTime - initTime; // 입력 받은 값의 날짜까지의 timestamp 값
console.log( (numerator / denominator) * 100);
3. 정리
- Date() 메서드에서 월을 영어로 써도 된다는 사실을 알았다.
'코딩연습' 카테고리의 다른 글
[백준 알고리즘] Node.js 1380. 귀걸이 (0) | 2023.03.30 |
---|---|
[백준 알고리즘] Node.js 1343. 폴리오미노 (0) | 2023.03.29 |
[백준 알고리즘] Node.js 1331. 나이트 투어 (0) | 2023.03.28 |
[백준 알고리즘] Node.js 1312. 소수 (0) | 2023.03.27 |
[백준 알고리즘] Node.js 1308. D-Day (0) | 2023.03.23 |