📖 문제
※ SW Expert 아카데미의 문제를 무단 복제하는 것을 금지합니다.
시 분으로 이루어진 시각을 2개 입력 받아, 더한 값을 시 분으로 출력하는 프로그램을 작성하라.
(시각은 12시간제로 표시한다. 즉, 시가 가질 수 있는 값은 1시부터 12시이다.)
[제약 사항]
시는 1 이상 12 이하의 정수이다. 분은 0 이상 59 이하의 정수이다.
[입력]
가장 첫 줄에는 테스트 케이스의 개수 T가 주어지고, 그 아래로 각 테스트 케이스가 주어진다.
각 테스트 케이스의 첫 번째 줄에는 4개의 수가 주어진다.
첫 번째 수가 시를 나타내고 두 번째 수가 분을 나타낸다. 그 다음 같은 형식으로 두 번째 시각이 주어진다.
[출력]
출력의 각 줄은 '#t'로 시작하고 공백을 한 칸 둔 다음, 시를 출력하고 공백을 한 칸 둔 다음 분을 출력한다.
(t는 테스트 케이스의 번호를 의미하며 1부터 시작한다.)
📖 풀이
입력받는 분1, 분2의 합이 60이 넘어갈 경우, 시간에 1을 더해주고, 남는 분을 처리해주고, 또한 시간 또한 12시를 넘지 않는다고 했으니, 분과 같이 처리해주면 되는 문제이다.
T = int(input())
# 여러개의 테스트 케이스가 주어지므로, 각각을 처리합니다.
for test_case in range(1, T + 1):
hour = 0
minute = 0
hour1, minute1, hour2, minute2 = map(int, input().split())
if minute1 + minute2 > 60: # 분의 합이 60을 넘어갈 경우
minute = minute1 + minute2 - 60
hour += 1
else:
minute = minute1 + minute2
if hour1 + hour2 > 12: # 시간의 합이 12를 넘어갈 경우
hour = hour + hour1 + hour2 - 12
else:
hour = hour + hour1 + hour2
print("#{0} {1} {2}".format(test_case, hour, minute))