2525. 오븐 시계

2023-03-05
백준 2525번 풀이

이 글은 Obsidian에서 마이그레이션되었으며, 그 과정에서 AI의 도움을 받았습니다. 오류나 누락된 내용이 있다면 댓글로 알려주세요!

문제

2525번: 오븐 시계

풀이

아이디어

원래는 조건문을 이용하여 시간 계산을 구현하는 문제이지만… 나는 조건문을 써보는 것 보다는 Date 객체를 써 보는게 좋을 것 같아서 Date 객체를 활용해보았다.

let date = new Date(2023, 2, 5, h, m);

이렇게 입력받은 시간을 나타내는 date 객체를 하나 만들고 (날짜는 상관 없음)

date.setMinutes(date.getMinutes() + c);

getMinutes 메소드로 분을 받아와서 (근데 지금 생각해보니 그냥 m을 그대로 활용했었어도 되었을 것 같다.) c와 더한 후에 setMinutes 메소드로 새로운 분을 설정해준다. 매뉴얼에 따르면 setMinutes의 매개변수가 0~59 범위를 벗어나는 수일 경우에는 Date 객체를 직접 업데이트하기 때문에 범위에 대한 고민을 따로 더 할 필요는 없었다.

✏️ 참고

코드

// Title : 오븐 시계

const fs = require('fs');
const input = fs.readFileSync('/dev/stdin').toString().split('\n');

const [h, m] = input[0].split(' ').map((v) => parseInt(v));
const c = parseInt(input[1]);

let date = new Date(2023, 2, 5, h, m);
date.setMinutes(date.getMinutes() + c);
console.log(date.getHours(), date.getMinutes());