https://www.acmicpc.net/problem/2884
원래 설정되어 있는 알람을 45분 앞서는 시간으로 바꾸는 프로그램을 작성
해결과정
1. 주어진 문자열 분리
const covertedInput = input.split(' ');
2. Date생성자 적용
const convertedInput = new Date(2021, 0, 1, covertedInput[0], covertedInput[1]);
3. timestamp 생성 후 계산
const offset = 45 * 60 * 1000;
const caculatedTimeStamp = givenDate - offset;
4. Date 형태로 포맷
const newDate = new Date(caculatedTimeStamp);
5. 완성
function alarmSetter(input){
const covertedInput = input.split(' ');
const convertedInput = new Date(2021, 0, 1, covertedInput[0], covertedInput[1]);
const givenDate = convertedInput.getTime();
const offset = 45 * 60 * 1000;
const caculatedTimeStamp = givenDate - offset;
const newDate = new Date(caculatedTimeStamp);
return `${newDate.getHours()} ${newDate.getMinutes()}`;
}
console.log(alarmSetter(input));
6. 제출
const fs = require('fs');
const filePath = process.platform === "linux" ? '/dev/stdin' : __dirname + '/input.txt';
const input = fs.readFileSync(filePath).toString();
function alarmSetter(input){
const covertedInput = input.split(' ');
const convertedInput = new Date(2021, 0, 1, covertedInput[0], covertedInput[1]);
const givenDate = convertedInput.getTime();
const offset = 45 * 60 * 1000;
const caculatedTimeStamp = givenDate - offset;
const newDate = new Date(caculatedTimeStamp);
return `${newDate.getHours()} ${newDate.getMinutes()}`;
}
console.log(alarmSetter(input));
시간 관련 문제를 풀 때는
Time Stamp를 이용하는게 좋다!!!!
'코딩테스트 뿌수기' 카테고리의 다른 글
[백준 7568번 node.js] 덩치 (0) | 2024.08.12 |
---|---|
[백준 11047번 node.js] 동전 0 (1) | 2024.06.09 |
[백준 2908번 node.js] 상수 (0) | 2024.06.09 |
[백준 : 11720번 node.js] 숫자의 합 (1) | 2024.06.08 |
[백준 : 10988번 node.js] 팰린드롬인지 확인하기 (0) | 2024.06.08 |