문제
오늘의 요일을 나타내는 문자열 S가 주어진다. S는 “MON”(월), “TUE”(화), “WED”(수), “THU”(목), “FRI”(금), “SAT”(토), “SUN”(일) 중 하나이다.
다음 (즉, 내일 이후의 가장 빠른) 일요일까지는 며칠 남았을까?
[입력]
첫 번째 줄에 테스트 케이스의 수 T가 주어진다.
각 테스트 케이스는 하나의 줄로 이루어진다. 각 줄에는 문자열 S가 주어진다.
[출력]
각 테스트 케이스마다, 다음 일요일까지 며칠 남았는지를 한 줄에 하나씩 출력한다.
문제 풀이
일요일은 다음주 일요일일까지 7일이 남는다.
월요일일 때에는 일요일까지 6일,
화요일일 때에는 일요일까지 5일,
...
토요일일 때에는 일요일까지 1일이 남는다.
따라서, 각 요일을 리스트에 "일월화수목금토" 순서대로 담은 후, 입력받은 요일이 리스트에서 몇번째 인덱스인지를 구하여 남은 날짜를 계산한다.
작성코드
T = int(input())
for test_case in range(1, T+1):
S = input()
weekdays = ["SUN", "MON", "TUE", "WED", "THU", "FRI", "SAT"]
idx = weekdays.index(S)
left = 7 - idx
print(f'#{test_case} {left}')
'Problem Solving' 카테고리의 다른 글
[SWEA] D3 - 14178. 1차원 정원 in 파이썬 (0) | 2022.05.23 |
---|---|
[SWEA] D3 - 13547. 팔씨름 in 파이썬 (0) | 2022.05.22 |
[JS 알고리즘] Toy 7 - treeDFS (0) | 2022.05.20 |
[SWEA] D2 - 1859. 백만 장자 프로젝트 in 파이썬 (0) | 2022.05.19 |
[SWEA] D2 - 1984. 중간 평균값 구하기 in 파이썬 (0) | 2022.05.19 |