https://www.acmicpc.net/problem/2525
const fs = require('fs');
let input = fs.readFileSync("./input.txt").toString().split(`\r\n`);
let hour = Number(input[0].split(' ')[0]);
let min = Number(input[0].split(' ')[1]);
let time = Number(input[1]);
if( min + time >= 60){
hour += parseInt((min + time) / 60);
min = (min + time) - 60;
}else{
min = min + time;
}
if(hour === 24) hour = 0;
if(min === 60) min = 0;
console.log(hour, min);
입력한 값과 제출되는 값은 동일하게 나오나, 오답으로 체크된다...
솔직히 정리되지 않은 코드이고, 코드가 어수선하다...ㅎ
solution( hour, min, time);
function solution(hour, min, time){
min += time;
if(min >= 60){
hour += Math.floor(min / 60);
min %= 60;
}
if(hour > 23) hour -= 24;
// 50시간인 경우도 생각했을때
// 조건식을 hour === 24로 한다면 그 시간을 넘긴 시간은 제대로 계산이 안되기 때문에
//조건식을 hour > 23로 변경
console.log(hour, min);
}
구글에 검색한 결과들을 보고 함수로 조건문을 만들어 함수를 실행토록 코드를 만들었다.
그리고 if문의 연산들을 간결하게 하고, %
연산자와 +=
연산자를 활용해서 시간과 분의 값을 구하도록 했다.