안경잡이 구루루

백준 2530 (인공지능 시계) [Python] 본문

파이썬(Python)/문제풀이(백준,BaekJoon)

백준 2530 (인공지능 시계) [Python]

구루루(gururu) 2023. 3. 30. 20:49
반응형

https://www.acmicpc.net/problem/2530

 

:

h, m, s = map(int,input().split(' '))
add = int(input())
s = s+ add

while s >= 60:
    m +=1
    s = s-60
while m >=60:
    h +=1
    m = m-60
while h >=24:
    h = h-24

print(h,m,s)

완성된 코드는 위와 같습니다.

h, m, s = map(int,input().split(' '))
add = int(input())

띄어쓰기를 기준으로 변수를 받기위해 split() 함수를 이용했다.  이때 split 함수는 괄호 안의 값을 기준으로 문자열로 나누어 리스트에 저장하는 방식이다. 그래서 사칙연산을 하기위해서는 정수형으로 바꿔주는 map() 함수를 이용한다.

+) map에 대한 자세한 설명은 아래 링크를 통해 확인가능합니다.

2023.03.30 - [분류 전체보기] - 파이썬 map() 함수에 대하여

s = s+ add

while s >= 60:
    m +=1
    s = s-60
while m >=60:
    h +=1
    m = m-60
while h >=24:
    h = h-24

print(h,m,s)

입력받은 수를 add에 넣고 시간의 초에 해당하는 s에 그 값을 더해서 할당한다.

이후 초,분,시간 순서대로 60초 ,60분, 24시 를 넘어가는 상황이 끝날때 까지 while문을 이용해 계속 반복한다. 이렇게 되면 각각의 단위에 해당하는 상황에 맞춰 계산이 되서 완성이된다.

다른사람:

https://my-coding-notes.tistory.com/362

h,m,s = map(int,input().split())
t = int(input())

s += t
m += s//60
h += m//60
print(h%24,m%60,s%60)

반복문 while 사용 없이 정수만 출력하는 나누기(//) 와 나머지(%) 출력 연산자 만을 가지고 간단하게 출력가능.

반응형