관리 메뉴

솜씨좋은장씨

[BaekJoon] 2525번 : 오븐 시계 (Python) 본문

Programming/코딩 1일 1문제

[BaekJoon] 2525번 : 오븐 시계 (Python)

솜씨좋은장씨 2022. 2. 28. 10:21
728x90
반응형

코딩 1일 1문제! 오늘의 문제는 백준의 오븐 시계 입니다.

 

2525번: 오븐 시계

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

www.acmicpc.net

👨🏻‍💻 문제 풀이

현재 시간 / 현재 시간의 분 / 요리에 걸리는 시간을 입력 받으면 요리가 끝나는 시간을 구하는 문제입니다.

요리에 걸리는 시간은 분 단위로 입력 받습니다.

먼저 현재 시간의 분에 요리에 걸리는 시간을 더합니다.

minute += cooking_time

더했을때 더한 값이 60 이상일 경우에는 분을 시간과 분으로 나누는 계산을 진행합니다.

extra_hour = 0

if minute > 59:
    extra_hour = minute // 60
    minute = minute % 60

시간은 계산한 분을 60으로 나눈 값 / 분은 더한 분 값을 60으로 나누고 남은 나머지 값으로 합니다.

hour += extra_hour

위에서 구한 잔여 시간을 현재 시간에 더해줍니다.

hour = hour % 24

만약 시간이 24시로 나오면 0시로 나오도록 시간을 24로 나눈 나머지 값으로 치환시켜줍니다.

f"{hour} {minute}"

정답은 이렇게 계산한 시간 / 분으로 f-string으로 만들어줍니다.

전체 코드는 아래를 참고해주세요.

👨🏻‍💻 코드 ( Solution )

def oven_clock(hour, minute, cooking_time):
    minute += cooking_time
    extra_hour = 0
    
    if minute > 59:
        extra_hour = minute // 60
        minute = minute % 60
        
    hour += extra_hour
    
    hour = hour % 24
    
    return f"{hour} {minute}"

if __name__ == "__main__":
    hour, minute = map(int, input().split())
    cooking_time = int(input())
    finish_time = oven_clock(hour=hour, minute=minute, 
                             cooking_time=cooking_time)
    print(finish_time)
 

GitHub - SOMJANG/CODINGTEST_PRACTICE: 1일 1문제 since 2020.02.07

1일 1문제 since 2020.02.07. Contribute to SOMJANG/CODINGTEST_PRACTICE development by creating an account on GitHub.

github.com

Comments