const fs = require('fs');
const filePath = process.platform === 'linux' ? '/dev/stdin' : '.input.txt';
let input = fs
.readFileSync(__dirname + '/input.txt')
.toString()
.split('\n');
let a = Number(input[0].split(' ')[0]);
let b = Number(input[0].split(' ')[1]);
let c = Number(input[1]);
let hour = Math.floor((a * 60 + b + c) / 60);
let min = Math.floor((a * 60 + b + c) % 60);
if (hour >= 24) {
hour -= 24;
}
console.log(hour, min);
이전 문제와 비슷한 주어진 시간에 시간을 또 더한 값을 반환하는 문제였다.
시
를 모두 분
으로 변환해 계산하는 방법을 사용했다.
1) 두 줄 형태의 입력 값을 split('\n')
으로 배열 변환했다.
2) 각 시
분
요리시간
에 배열 값을 할당했다.
3) 모두 분으로 변환해 계산 한 값을 시
에는 60
으로 나눈 값을, 분
에는 60
으로 나눈 나머지의 값을 할당했다.
4) 시가 24
가 넘지 않도록 조건문으로 -24
해줬다.
두 줄로 주어진 입력 값을 어떻게 한 줄의 배열로 변환 할 지 부터 고민했었다.문제는 푸는 방법에 따라서 코드 작성법이 바뀔 것 같다. 문제에 접근하는 방법을 잘 찾아보자.