SW Expert Academy-13229-Python

cosmos·2023년 5월 5일
0
post-thumbnail

코드

def sunday(day: str) -> int:
    dict = {"MON": 6, "TUE": 5, "WED": 4, "THU": 3, "FRI": 2, "SAT": 1, "SUN": 7}
    return dict[day]

T = int(input())

for test_case in range(1, T + 1):
    day = str(input())
    print(f'#{test_case} {sunday(day)}')

ChatGPT Code

def remaining_days_until_sunday(day):
    days = ["MON", "TUE", "WED", "THU", "FRI", "SAT", "SUN"]
    remaining_days = days.index("SUN") - days.index(day)
    if remaining_days < 0:
        remaining_days += 7
    return remaining_days


# 테스트 케이스 수 입력
test_case_count = int(input())

for _ in range(test_case_count):
    # 요일 입력
    day = input()
    # 다음 일요일까지 남은 일수 계산
    remaining_days = remaining_days_until_sunday(day)
    # 결과 출력
    print(remaining_days)

ChatGPT 문제풀이

주어진 문제에서는 입력으로 주어진 요일(S)로부터 다음 일요일까지 남은 일수를 계산해야 합니다. 문제를 해결하기 위해서는 요일의 순환 패턴을 이해하고, 주어진 요일(S)로부터 일요일까지 남은 일수를 계산하는 로직을 작성해야 합니다.
주어진 문제에서 요일은 "MON", "TUE", "WED", "THU", "FRI", "SAT", "SUN" 중 하나로 주어집니다. 이들은 일주일의 순환 패턴을 가지므로 다음 일요일까지는 일주일 단위로 반복됩니다. 따라서, 다음 일요일까지 남은 일수를 계산하기 위해 다음과 같은 절차를 따를 수 있습니다:
주어진 요일(S)를 기반으로 일요일까지의 남은 일수를 계산합니다.
계산된 남은 일수를 출력합니다.

ChatGPT 문제풀의와의 비교

ChatGPT 코드 시간복잡도: 전체 코드의 시간 복잡도는 O(T)

내 코드 시간복잡도: O(T)

효율성 동일.

문제출처 & 깃허브

sw expert academy
github

0개의 댓글