본문 바로가기
알고리즘/백준 - 파이썬

백준) 2525번 오븐 시계 (파이썬)

by AI Sonny 2022. 5. 24.
728x90

문제) KOI 전자에서는 건강에 좋고 맛있는 훈제오리구이 요리를 간편하게 만드는

 

인공지능 오븐을 개발하려고 한다.

 

인공지능 오븐을 사용하는 방법은 적당한 양의 오리 훈제 재료를 인공지능 오븐에 넣으면 된다.

 

그러면 인공지능 오븐은 오븐구이가 끝나는 시간을 분 단위로 자동적으로 계산한다.

 

또한, KOI 전자의 인공지능 오븐 앞면에는 사용자에게 훈제오리구이

 

요리가 끝나는 시각을 알려 주는 디지털 시계가 있다. 

 

훈제오리구이를 시작하는 시각과 오븐구이를 하는 데 필요한 시간이 분단위로 주어졌을 때,

 

오븐구이가 끝나는 시각을 계산하는 프로그램을 작성하시오.

a, b = map(int, input().split())
c = int(input())

a += c // 60
b += c % 60

if b>=60:
  a += 1
  b -= 60
if a >= 24:
  a -= 24
print(a,b)

이번 문제는 입력을 3개 받아야 하는 문제로 2개(1개는 시간 1개는 조리 시간)로 나누어 변수 선언을 하였다.

 

그 후 할당 연산자를 사용하였다. 여기서 할당 연산자의 개념은 다음과 같다.

 

a += c를 예시로 보면 왼쪽 변수에 오른쪽 값을 더하고 결과를 왼쪽변수에 할당하는 것이다.

 

따라서, a += c // 60 는 a = a + c // 60 과 같다. 

 

-> a는 시간, b는 분이기 때문에 a는 '//'를 사용하였고, b는 '%'을 사용하였다.

 

if 문을 사용하여 a와 b의 조건을 갖추었다.

 

처음 b를 먼저 사용해야한다.

 

왜냐하면 b는 60이 넘으면 a에 영향을 끼치지만, a는 24를 넘을 때 0으로 바꾸면 되기 때문이다.

 

그래서 저는 할당 연사자를 다시 사용하여 b >= 60 인 경우

 

a를 1 더하고,  b는 60을 빼도록하였다. 그리고 elif가 아닌 if를 다시 써서 조건을 추가하였다.

 

elif를 쓰게 되면 b >= 60 제외하기 때문에 새로운 if문을 써서 작성하였다. (이 부분은 제가 이해한게 맞는지 모르겠다.)

 

그래서 a >= 24를 넘기면 24를 빼도록 if 문을 작성하였다.

 

이번 문제는 시간과 분에 대한 개념이 중요한 것 같다.

 

우리가 일상에 대해 살아가면서 시간과 분을 계산하는 건 쉽지만 컴퓨터의 입장에서 바라보고,

 

계산하는 것이 아직까지는 낯설고, 어색하기만 하다.

 

이해가 안되시거나 틀린 정보는 댓글로 알려주시면 감사하겠습니다!

728x90

댓글