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

문제

 

문제 풀이

문제를 요약하면, 현재 시간에서 입력받은 분(minute)을 더한 뒤의 시각을 구하면 된다.

const solution = (input) => {
    const [a, b, c] = input.split(/\s+/).map((s) => +s);

    const sum = b + c;
    const carry = parseInt(sum / 60);

    const m = sum % 60;
    const h = (carry > 0 ? a + carry : a) % 24;
    return `${h} ${m}`;
};
const print = (input) => console.log(solution(input + ''));
process.stdin.on('data', print);

분은 60으로 나머지 연산을 하면 구할 수 있다.

 

시간은 얼만큼 시간을 더해줄지 계산해야하는데, b + c 를 더한 값을 60으로 나누면 된다. 증가하는 만큼의 시간을 carry라고 하면, carry 값이 0보다 클 때 입력받은 시간에 추가적으로 더해주면 된다.

 

전체 코드

https://github.com/bluemiv/Algorithm/blob/master/baekjoon/nodejs/src/ex02/ex2525.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

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