[JS] 2525번 오븐 시계

     

    https://www.acmicpc.net/problem/2525

     

    2525번: 오븐 시계

    첫째 줄에 종료되는 시각의 시와 분을 공백을 사이에 두고 출력한다. (단, 시는 0부터 23까지의 정수, 분은 0부터 59까지의 정수이다. 디지털 시계는 23시 59분에서 1분이 지나면 0시 0분이 된다.)

    www.acmicpc.net

    2022.08.11

    2525번 오븐 시계

    문제

    * 훈제오리구이를 시작하는 시각과 오븐구이를 하는 데 필요한 시간이 분단위로 주어졌을 때, 오븐구이가 끝나는 시각을 계산하는 프로그램을 작성하시오.
    * 첫째 줄에는 현재 시각이 나온다. 현재 시각은 시 A (0 ≤ A ≤ 23) 와 분 B (0 ≤ B ≤ 59)가 정수로 빈칸을 사이에 두고 순서대로 주어진다. 두 번째 줄에는 요리하는 데 필요한 시간 C (0 ≤ C ≤ 1,000)가 분 단위로 주어진다. 
    * 첫째 줄에 종료되는 시각의 시와 분을 공백을 사이에 두고 출력한다. (단, 시는 0부터 23까지의 정수, 분은 0부터 59까지의 정수이다. 디지털 시계는 23시 59분에서 1분이 지나면 0시 0분이 된다.)

    풀이

    //입력값이 [14 30\n20] 이기 때문에 첫 줄과 두번째 줄을 \n으로 나누고 첫 번째주를 다시 띄어쓰기로 나눈다
    const fs = require('fs');
    const inputData = fs.readFileSync(0,'utf8').toString().split("\n");
    const times = inputData[0].split(" ");
    const cookingTimes = parseInt(inputData[1]);
    const H = parseInt(times[0]);
    const M = parseInt(times[1]);
    
    solution(H,M,cookingTimes);
    
    
    function solution(H,M,cookingTimes){
        const result = H*60+M+cookingTimes ; //현재 시각과 걸리는 시간을 더해 분단위로 나타냄.
        const resultH = Math.floor(result/60); //분단위 시각을 60으로 나눠 내림하여 시를 나타냄.
        const resultM = result%60;// 분단위 시각을 60을 나눈 나머지로 분을 나타냄.
        if (resultH >= 24){ // 만약 resultH가 24시간이 넘어가면 -24시간을 해주어 24시가 초과되는 시간을 방지함.
            console.log(resultH-24,resultM);
        }else
        console.log(resultH,resultM);
    
    }

    삽질

    
    solution(H,M,cookingTimes);
    
    function solution(H,M,cookingTimes){
        if (M+cookingTimes >= 60){
        console.log(H+1,M+cookingTimes-60);
        } else if(M+cookingTimes < 60) {
            console.log(H,M+cookingTimes);
        }
    }

    cookingTimes가 120분이 넘어가면 H+2를 해야줘야되는데 생각 못함.
    너무 단순하게 생각함.

     

    'algorithm > 백준' 카테고리의 다른 글

    [JS] 10926번 ??!  (0) 2022.08.12
    [JS] 10869 사칙연산  (0) 2022.08.12
    [JS] 1000 1001 10998 1008번 입출력방식/사칙연산  (0) 2022.08.12
    [JS] 2480번 주사위 세개  (0) 2022.08.11
    [JS]2884번 알람시계  (0) 2022.08.10

    댓글