본문 바로가기

알고리즘/백준

[백준] 2525 - 오븐 시계

반응형

2525번 문제

이전에 풀었던 문제인 알람 시계와는 다르게 이번에는 입력 시각에 시간을 더하는 문제다.

import java.util.*;
public class Main{
    public static void main(String[] args){
    
        Scanner sc = new Scanner(System.in);

        int h, m, oven;

    h = sc.nextInt();
    m = sc.nextInt();
    oven = sc.nextInt();
    //현재 분과 오븐 시간이 60 이상일 때
    if((m+oven)> 59){
        //분과 오븐 시간을 더한 뒤, 60으로 나눈 몫을 현재 시에 더해줌.
        h += (m+oven)/60;
        m += oven;
        //m을 60으로 나눈 나머지가 분이 된다.
        m %= 60;
        
        if(h > 23){
            //23시보다 크면 0시이므로 24로 나눈 나머지를 시로 바꿈.
            h %= 24;
        }
    }else{
        h += (m+oven)/60;
        m += oven;
        m %= 60;

        if(h > 23){
            h %= 24;
        }
    }
    System.out.printf("%d %d",h, m);
    sc.close();
    }
}

풀면서 자꾸 헷갈려서 주석을 달았다.

풀고 나서 다른 사람들이 푼 방법을 찾아보니까 더 간단한 방법이 있다는 걸 알게 되었다.

반응형

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

[백준] 2739 - 구구단  (0) 2024.01.30
[백준] 2480 - 주사위 세 개  (0) 2024.01.29
[백준] 2884 - 알람 시계  (0) 2024.01.27
[백준] 14681 - 사분면 고르기  (0) 2024.01.26
[백준] 2753 - 윤년  (0) 2024.01.25