[BOJ/백준-Python]2525번 - 오븐 시계

2525번 - 오븐 시계

문제

KOI 전자에서는 건강에 좋고 맛있는 훈제오리구이 요리를 간편하게 만드는 인공지능 오븐을 개발하려고 한다. 인공지능 오븐을 사용하는 방법은 적당한 양의 오리 훈제 재료를 인공지능 오븐에 넣으면 된다. 그러면 인공지능 오븐은 오븐구이가 끝나는 시간을 분 단위로 자동적으로 계산한다.

또한, KOI 전자의 인공지능 오븐 앞면에는 사용자에게 훈제오리구이 요리가 끝나는 시각을 알려 주는 디지털 시계가 있다.

훈제오리구이를 시작하는 시각과 오븐구이를 하는 데 필요한 시간이 분단위로 주어졌을 때, 오븐구이가 끝나는 시각을 계산하는 프로그램을 작성하시오.

입력

첫째 줄에는 현재 시각이 나온다. 현재 시각은 시 A (0 ≤ A ≤ 23) 와 분 B (0 ≤ B ≤ 59)가 정수로 빈칸을 사이에 두고 순서대로 주어진다. 두 번째 줄에는 요리하는 데 필요한 시간 C (0 ≤ C ≤ 1,000)가 분 단위로 주어진다.

출력

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

예제 입력 1

14 30
20

예제 출력 1

14 50

예제 입력 2

17 40
80

예제 출력 2

19 0

예제 입력 3

23 48
25

예제 출력 3

0 13

해결할 방법을 생각해보자.💡

2884번 알람 시계 문제와 비슷하다. 알람 시계 문제는 뺄셈이였지만, 오븐 시계 문제는 덧셈을 사용하면 된다. 시간은 0~23의 정수를 가질 수 있고, 분은 0~59의 정수를 가질 수 있다.

우리는 시간을 얘기할 때 24시라면 0시로 변환해서 사용한다. 그리고 1시간은 60분이라는 것을 알 수 있다.

우선 시간(H)와 분(M)을 받아주자.

H, M = map(int, input().split())

그리고 더해 줄 오븐 사용시간(분)을 받아준다.

S = int(input()) # S는 spend의 약자다!

그리고 이제 생각해보자. 만약 오후 3시 40분이라면 15 40 이런 형태로 H는 15, M은 40이다. H를 분으로 바꿔주면 900이다. 그러면 기존의 M(분)과 합쳐주면 940분이 되는 것이다.

여기서, S(오븐 사용 시간)가 80이라면 위의 940과 합쳐 1020이된다.

sum = (H * 60) + M + S

이제 모두 합친 것(sum)을 다시 시와 분으로 만들어줘야한다. 60으로 나눠 나눈 몫은 H(시)로 나머지는 M(분)으로 바뀌게 된다. 따라서, H = (sum // 60), M = (sum % 60)이 된다.(17 00)

만약에 위와 같지 않고, 나눈 몫이 24와 같거나 클 경우에는 H = (sum // 60 % 24)가 되야한다. 왜냐하면, H가 24일 경우 0으로 변환해야한다. 그래서 합계를 60으로 나눈 몫을 다시 24로 나누어 그 나머지가 H로 들어간다. 그리고 남은 시간들이 M으로 들어가게 된다.

if (sum // 60) >= 24:
    H = (sum // 60 % 24)
    M = (sum % 60)
else:
    H = (sum // 60)
    M = (sum % 60)

코드💻

H, M = map(int, input().split())
S = int(input())
sum = (H * 60) + M + S
if (sum // 60) >= 24:
    H = (sum // 60 % 24)
    M = (sum % 60)
else:
    H = (sum // 60)
    M = (sum % 60)
print(H,M)

해결 로그

문제 푼 날짜 체크
2022-02-15
   
   
   
   

2022

[web]jQuery 복습 3

1 분 소요

[Noitce] 고쳐야하거나 틀린 것이 있으면 말씀해주세요!

[web]jQuery 복습 2

13 분 소요

[Noitce] 고쳐야하거나 틀린 것이 있으면 말씀해주세요!

[web]jQuery 복습 1

14 분 소요

[Noitce] 고쳐야하거나 틀린 것이 있으면 말씀해주세요!

[web]JavaScript 정리4

5 분 소요

[Noitce] 고쳐야하거나 틀린 것이 있으면 말씀해주세요!

[web]JavaScript 정리3

10 분 소요

[Noitce] 고쳐야하거나 틀린 것이 있으면 말씀해주세요!

[web]JavaScript 정리2

7 분 소요

[Noitce] 고쳐야하거나 틀린 것이 있으면 말씀해주세요!

[web]JavaScript 정리1

8 분 소요

[Noitce] 고쳐야하거나 틀린 것이 있으면 말씀해주세요!

[web]CSS 기초 정리

11 분 소요

[Noitce] 고쳐야하거나 틀린 것이 있으면 말씀해주세요!

[web]HTML 기초 정리

8 분 소요

[Noitce] 고쳐야하거나 틀린 것이 있으면 말씀해주세요!

[Pandas]pandas 연습

3 분 소요

[Noitce] 고쳐야하거나 틀린 것이 있으면 말씀해주세요!

맨 위로 이동 ↑

2021

[Python기초]module

1 분 소요

[Noitce] 고쳐야하거나 틀린 것이 있으면 말씀해주세요!

맨 위로 이동 ↑