백준 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
<작성한 코드>
<코드 풀이>
문제는 첫째 줄에 현재 시각을 나타내기 위해 A와 B가 정수로 빈칸을 사이에 두고 순서대로 입력받도록 하고 있습니다.
두 번째 줄에서는 요리하는데 필요한 시간을 입력받기 위해 cook_time이라는 이름의 변수를 만들었습니다.
이번 문제는 지난 알람 시계 문제와 거의 흡사하지만 주어진 숫자를
빼는 것이 아닌 더한다는 점에서 차이가 있습니다.
2022.10.28 - [백준 알고리즘] - 백준 2884번 : 알람 시계 문제풀이 [파이썬]
백준 2884번 : 알람 시계 문제풀이 [파이썬]
백준 2884번 : 알람 시계 파이썬 문제풀이 <문제> 2884번 문제의 내용은 아래와 같습니다. 알람 시계 문제 상근이는 매일 아침 알람을 듣고 일어난다. 알람을 듣고 바로 일어나면 다행이겠지만, 항
inho3213.tistory.com
본 문제를 풀기 위해 크게 두 조건으로 나누어 코드를 작성했습니다.
1) 주어진 Minute(분)과 cook_time의 합이 60보다 작을때
이 경우에는 '시'의 변화는 없고 '분'의 경우에는 단순히 덧셈만 해주면 된다.
2) 주어진 Minute(분)과 cook_time의 합이 60보다 클때
이 경우에는 '분'이 60을 넘어가기 때문에 '시'에 변화가 생긴다.
먼저 60을 넘는 '분'을 시, 분 으로 나누어 변수에 저장한다.
예를 들어 합이 100분인 경우 -> 1시간, 40분 으로 나눔
따라서 시를 구하기위해 hour + h를,
분을 구하기 위해 m을 지정해주면 될 것 같지만 오류가난다.
바로 '시'가 24보다 크거나 같아지는 경우 때문이다.
문제에서 24시의 경우에는 0으로 표현하기로 했고, 25시의 경우에는 다시 1로 돌아와야하기 때문이다.
이를 위해 위의 조건문 elif의 아래에, 다음의 조건을 추가해서 마무리했다.
'백준 알고리즘' 카테고리의 다른 글
백준 2738번 행렬 덧셈 문제풀이[파이썬] (0) | 2023.01.27 |
---|---|
백준 2480번 파이썬 문제풀이 : 주사위 세개 문제 (0) | 2022.11.23 |
백준 2884번 : 알람 시계 문제풀이 [파이썬] (0) | 2022.10.28 |
백준 14681번 : 사분면 고르기 문제풀이 [파이썬] (0) | 2022.10.28 |
백준 2753번 : 윤년 문제풀이 [파이썬] (0) | 2022.10.28 |