문제 링크
SW Expert Academy
SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요!
swexpertacademy.com
제출 코드
- Pass
T = int(input())
# 여러개의 테스트 케이스가 주어지므로, 각각을 처리합니다.
for test_case in range(1, T + 1):
input_data = input()
year = int(input_data[:4])
month = int(input_data[4:6])
day = int(input_data[6:])
days_31 = [1, 3, 5, 7, 8, 10, 12]
days_30 = [4, 6, 9, 11]
days_28 = [2]
if (month in days_31) and (day > 31 or day < 1):
result = -1
elif (month in days_30) and (day > 30 or day < 1):
result = -1
elif (month in days_28) and (day > 28 or day < 1):
result = -1
elif month > 12 or month < 1:
result = -1
else:
result = input_data[:4] + '/' + input_data[4:6] + '/' + input_data[6:]
print(f"#{test_case} {result}")
풀이
- slicing으로 연, 월, 일 받기
- 31일, 30일, 28일인 달로 나누어 날짜가 그 범위 안에 있는지 판단
알아둘 것
'ALGORITHM > SWEA' 카테고리의 다른 글
[SWEA D3] 1209. [S/W 문제해결 기본] 2일차 - Sum(Python) (0) | 2023.01.15 |
---|---|
[SWEA D1] 1945. 간단한 소인수분해(Python) (0) | 2023.01.13 |
[SWEA D2] 1204. [S/W 문제해결 기본] 1일차 - 최빈수 구하기(Python) (0) | 2023.01.11 |
[SWEA D1] 2047. 신문 헤드라인(Python) (0) | 2023.01.11 |
[SWEA D1] 2029. 몫과 나머지 출력하기(Python) (0) | 2023.01.11 |