SW Expert Academy-1976-Python

cosmos·2023년 4월 25일
0
post-thumbnail

코드

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)}')

결과

ChatGPT Code

# 테스트 케이스의 개수 입력
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))

ChatGPT 문제풀이

위 코드에서는 map() 함수를 이용하여 입력값을 각각 h1, m1, h2, m2 변수에 할당하고, 이 값을 분 단위로 변환하여 t1, t2 변수에 저장합니다. 그리고 total 변수에 두 시각의 분 단위 합을 저장하고, 이 값을 다시 시, 분으로 분리하여 h3, m3 변수에 할당합니다. 시간이 0일 경우 12로 변환하여 출력하며, 출력 형식에 맞추어 결과를 출력합니다.

내 코드와 ChatGPT 코드와의 차이점

내 코드 Big-O: 전체 O(T), solve function O(1)
ChatGPT Code Big-O: O(T)
효율성 같다.

문제출처 & 깃허브

sw expert academy
Github

0개의 댓글