목차
반응형
문제
나의 풀이
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 해줬다.
두 줄로 주어진 입력 값을 어떻게 한 줄의 배열로 변환 할 지 부터 고민했었다.
문제는 푸는 방법에 따라서 코드 작성법이 바뀔 것 같다. 문제에 접근하는 방법을 잘 찾아보자.
반응형