블로그를 이전하였습니다. 2023년 11월부터 https://bluemiv.github.io/에서 블로그를 운영하려고 합니다. 앞으로 해당 블로그의 댓글은 읽지 못할 수 도 있으니 양해바랍니다.
반응형
문제
문제 풀이
문제를 요약하면, 현재 시간에서 45분을 뺀 시각을 구하면 된다.
- 시간 구하기
- M이 45분보다 작은 경우, 시간이 바뀌기 때문에 -1을 해준다. 단 H의 값이 0 인경우에는 -1을 하면 23이 된다
- 분 구하기
- M이 45분보다 작다면 60 + M - 45를 해주고, 크거나 같다면 M - 45를 해준다
const solution = (input) => {
const [h, m] = input.split(' ').map((s) => +s);
const nextH = m < 45 ? (h <= 0 ? 23 : h - 1) : h;
const nextM = m < 45 ? 60 + m - 45 : m - 45;
return `${nextH} ${nextM}`;
};
const print = (input) => console.log(solution(input + ''));
process.stdin.on('data', print);
// test code
test('example1', () => {
const input = `10 10`;
const output = `9 25`;
expect(solution(input)).toEqual(output);
});
test('example2', () => {
const input = `0 30`;
const output = `23 45`;
expect(solution(input)).toEqual(output);
});
test('example3', () => {
const input = `23 40`;
const output = `22 55`;
expect(solution(input)).toEqual(output);
});
전체 코드
https://github.com/bluemiv/Algorithm/blob/master/baekjoon/nodejs/src/ex02/ex2884.js
풀이 결과
관련 글
2022.07.21 - [Algorithm/Beakjoon] - jest 단위테스트를 이용하여 백준 알고리즘 문제 편하게 풀기
반응형
'Algorithm > Beakjoon' 카테고리의 다른 글
백준 2480번 / 주사위 세개 (nodejs 알고리즘 풀이) (0) | 2022.07.24 |
---|---|
백준 2525번 / 오븐 시계 (nodejs 알고리즘 풀이) (0) | 2022.07.23 |
jest 단위테스트를 이용하여 백준 알고리즘 문제 편하게 풀기 (1) | 2022.07.21 |
백준 10869번 / 사칙연산 (nodejs 알고리즘 풀이) (0) | 2022.07.20 |
백준 1000번 / A+B (nodejs 알고리즘 풀이) (0) | 2022.07.19 |