def solve(hour1: int, minute1: int, hour2: int, minute2: int) -> str:
if minute1 + minute2 >= 60:
minute = minute1 + minute2 - 60
hour1 += 1
else:
minute = minute1 + minute2
if hour1 + hour2 > 12:
hour = hour1 + hour2 - 12
else:
hour = hour1 + hour2
return ' '.join(map(str, [hour, minute]))
T = int(input())
for test_case in range(1, T + 1):
hour1, minute1, hour2, minute2 = map(int, input().split())
print(f'#{test_case} {solve(hour1, minute1, hour2, minute2)}')
# 테스트 케이스의 개수 입력
T = int(input())
# T번 반복
for i in range(1, T+1):
# 첫 번째 시각 입력
h1, m1, h2, m2 = map(int, input().split())
# 두 시각을 분 단위로 변환
t1 = h1 * 60 + m1
t2 = h2 * 60 + m2
# 두 시각을 더한 후 시, 분으로 분리
total = t1 + t2
h3 = (total // 60) % 12
m3 = total % 60
# 시간이 0일 경우 12로 변환
if h3 == 0:
h3 = 12
# 결과 출력
print("#{} {} {}".format(i, h3, m3))
위 코드에서는 map() 함수를 이용하여 입력값을 각각 h1, m1, h2, m2 변수에 할당하고, 이 값을 분 단위로 변환하여 t1, t2 변수에 저장합니다. 그리고 total 변수에 두 시각의 분 단위 합을 저장하고, 이 값을 다시 시, 분으로 분리하여 h3, m3 변수에 할당합니다. 시간이 0일 경우 12로 변환하여 출력하며, 출력 형식에 맞추어 결과를 출력합니다.
내 코드 Big-O: 전체 O(T), solve function O(1)
ChatGPT Code Big-O: O(T)
효율성 같다.