코딩테스트(백준 오븐시계)

hojoon·2023년 3월 21일
0

코딩테스트

목록 보기
3/5

처음에는 현재시각과 필요한시간, 23시가 초가되면 24시가 아니라 0으로 넘어가는 조건, 분(min)이 60이 넘어가면 0으로 초기화 해주고 시간에서 60으로 나눈 몫만큼 더해줘야 하는 것, 그 조건들을 한번에 적용하는 것, 이렇게 여러가지 조건을 나눠서 생각해서 접근했더니 많은 if문을 작성해야 했고, 문제를 풀면서 나도 헷갈리기 시작했다. 그러나 입력받은 값을 전체 분(min) 즉, 15시 30분에 필요시간이 60 이면 930 + 60으로 전체 분(min)을 구해서 문제를 푸는 방법으로 접근하니 복잡하고 헷갈리지 않게 여러 조건들을 구하지 않아도 풀 수 있었다.

let fs = require("fs");
let input = fs.readFileSync("./1-4/예제.txt").toString().split("\n");

//입력 A시 B분
//걸리는 시간 C분

// 17시40분 + 80분 = 1060분 + 80분 = 1140분
// 1.1140을 1440으로 나눈 나머지를 취하기
// 2.이때, 60으로 나눈 몫을 시(hour)로 취하기
// 3.이때, 60으로 나눈 나머지를 분(minute)으로 취하기

let [a, b] = input[0].split(" ").map(Number);
let c = Number[input[1]];

let totalMinute = a * 60 + b + c; //전체 분의 형식으로 구하기
totalMinute %= 1440;

let hour = parseInt(totalMinute / 60);
let minute = totalMinute % 60;

console.log(hour + " " + minute);
profile
프론트? 백? 초보 개발자의 기록 공간

0개의 댓글