백준 2530번 (인공지능 시계)

Sangho Kim·2022년 7월 5일
0

백준 문제풀이

목록 보기
2/2

문제


문제는 백준 2525번 오븐시계 문제와 비슷하다.

2525번은 시간과 분에서 분을 입력하고 출력하는 문제지만

2530번은 시간, 분, 초를 입력하고 초를 입력해서 출력하는 문제이다.

풀이


2525번과 동일하게 map 함수를 사용해 시간, 분, 초를 입력 받는다.

그 후 초단위를 입력받는 변수를 만들고 출력하면 된다.

코드


hour, minute, sec = map(int, input().split())

add = int(input())
hour1 = (hour + (minute+((sec+add)//60))//60)%24
minute1 = (minute+((sec+add)//60))%60
sec1 = (sec+add)%60

print(hour1, minute1, sec1) 

코드는 이렇게 나온다.

코드를 분석해보면 첫번째 hour, minute, sec를 선언하고 map 함수를 통해 입력받는다.

add 변수를 통해 초를 입력받고

hour1, minute1, sec1 변수에 맨 윗줄에서 입력받은 시간, 분, 변수를 계산해

print에 출력을 한다.


sec1 에서는 첫번째 줄에서 입력받은 초(sec)에 add에 추가적으로 입력 받은 초를 더하고 %(나머지) 연산자를 통해 60을 나눠주고 남은 수를 출력한다.

minute1 에서는 sec1에서 %(나머지)를 //(몫)으로 바꿔준다.

이렇게 되면 60을 나누고 나온 몫이 나오기 때문에

ex) sec가 0 일때 add로 120을 받으면 2가 나오게 되어 2분으로 된다.

여기에서 기존에 받았던 minute에 +2 를 해주고 이전 sec1 과 같이 %60으로 나머지를 출력해준다.

hour도 동일하게 해주면 된다!

풀이 끝!

출력


여담


처음으로 꽤 생각 많이 하고 풀어 본 문제라 풀었을 때 쾌감이 엄청났다 !

앞으로 꾸준히 백준문제를 풀어봐야겠다~! 생각보다 재밌다!

profile
Immediately, certainly, until it becomes.

0개의 댓글