memostack
article thumbnail
블로그를 이전하였습니다. 2023년 11월부터 https://bluemiv.tistory.com/에서 블로그를 운영하려고 합니다. 앞으로 해당 블로그의 댓글은 읽지 못할 수 도 있으니 양해바랍니다.
반응형

문제

 

문제 풀이

문제를 요약하면, 현재 시간에서 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

 

GitHub - bluemiv/Algorithm: 알고리즘 풀이

알고리즘 풀이. Contribute to bluemiv/Algorithm development by creating an account on GitHub.

github.com

 

풀이 결과

문제 풀이 결과

 

관련 글

2022.07.21 - [Algorithm/Beakjoon] - jest 단위테스트를 이용하여 백준 알고리즘 문제 편하게 풀기

 

jest 단위테스트를 이용하여 백준 알고리즘 문제 편하게 풀기

쉬운 문제는 웹 사이트에서 풀어도 되지만, 복잡한 문제는 여러 경우의 케이스에 대해서 실행해보는 경우가 생긴다. 백준에서는 다른 알고리즘 문제 사이트와 다르게 웹에서 실행해볼수가 없어

memostack.tistory.com

 

반응형
블로그를 이전하였습니다. 2023년 11월부터 https://bluemiv.tistory.com/에서 블로그를 운영하려고 합니다. 앞으로 해당 블로그의 댓글은 읽지 못할 수 도 있으니 양해바랍니다.
profile

memostack

@bluemiv_mm

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!