[SW Academy] 1976. 시각 덧셈

DreamJJW·2023년 6월 2일
0

SW Academy

목록 보기
18/26

📖 문제


※ 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))

profile
간절한 사람

0개의 댓글