YunDev

백준 2525번[C] - 상세 풀이 본문

Programming/Baekjoon Program

백준 2525번[C] - 상세 풀이

S준 2024. 1. 9. 14:00

 

 

2525번: 오븐 시계

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

www.acmicpc.net

 


 

#include <stdio.h>

int main() {
    
    int hour = 0, min = 0, ntime = 0;
    scanf("%d %d", &hour, &min);
    scanf("%d", &ntime);
    
    min += ntime;
   if(min >= 60) {
       hour = hour + (min/60);
       min = min%60;
       
   }
   if(hour >= 24) {
       hour = hour%24;
   }
   printf("%d %d", hour, min);
    return 0;
}

 

 

  • 풀이 : 첫번째로 비교해보아야하는 부분은 "현재시간에서 필요한 시간을 더했을때의 결과가  60 이상인가?" 입니다.
    만약 60 이상이라면 현재 시간에는 60으로 나눈 몫(시간)만큼만 더하고, 분에는 60으로 나눈 나머지를 더하게 됩니다.

    이렇게 더하게 되면 시간이 24시간이상일 때 또한 처리를 해줘야합니다. 이 부분은 따로 0으로 만들고 더할 필요없이 24로 나눈 나머지를 구하면 되기 때문에 hour = hour%24;를 해주었습니다.
    그리고 처음부터 min이 60미만이라면 따로 처리할 필요없이 더한 결과만 출력하면 됩니다.

'Programming > Baekjoon Program' 카테고리의 다른 글

백준 27433번[C] - 상세 풀이  (0) 2024.01.11
백준 2480번[C] - 상세 풀이  (2) 2024.01.10
[C]백준 1157번 - 풀이  (1) 2024.01.08
백준 11382번[C] - 풀이  (3) 2024.01.04
백준 10988번[C] - 상세 풀이  (1) 2024.01.04