개발자 되기/코딩테스트

[백준/python] 2525번

발전하는 개발자 2022. 12. 13. 12:52
728x90
반응형

문제

풀이

두 가지 방법이 있는데

첫 번째는 시간이 24가 넘는지만 신경 쓰면 되고,

두 번째는 시간이 24가 넘는지, 분이 60분을 초과하는지 두 가지를 신경 써야 함.

 

1. 현재 시간을 분으로 통일하여 요리 시간과 더한 후에 시와 분으로 분리하는 방법

# 현재 시와 분을 입력 받아(input) 시와 분으로 분리(split) 후에 int형으로 일괄 형변환(map)
h,m = map(int, input().split())

# 요리 시간은 다른 줄에 입력 받고 int형으로 변환
t = int(input())

# 전체 시간은 분으로 환산하여 다 더하기(시+분+요리시간)
time = h * 60 + m + t

# 시는 전체 시간을 60으로 나눈 몫을 24로 나눈 나머지
hour = (time // 60) % 24

# 분은 전체 시간을 60으로 나눈 나머지
minute = time % 60

# 시와 분을 출력
print(hour, minute)

 

2. 현재 시간에 요리 시간을 시와 분으로 분리하여 더하는 방법

# 시와 분을 입력 받아(input) 시와 분으로 분리 후(split) int형으로 일괄 형변환(map)
h, m = map(int, input().split())

# 요리 시간은 다른 줄에 입력 받고 int형으로 변환
t = int(input())

# 시 = 현재 시 + 조리 시간을 60으로 나눈 몫
hour = h + t // 60

# 분 = 현재 분 + 조리 시간을 60으로 나눈 나머지
minute = m + t % 60

# 분이 60을 넘으면 시간에 1을 더하고 분에 60을 빼기
if minute >= 60:
	hour += 1
	minute -= 60
    
# 시가 24를 넘으면 24를 빼줌    
if hour >= 24:
	hour -= 24

# 시와 분을 출력
print(hour, minute)
728x90
반응형