[Repl.it] 24번 문제다...if문을 사용하는 문제.
풀긴 풀었는데 멘토님이 쓰신 model solution을 보고 한줄씩 또 분해해봤다.
월(month)와 일(day), 이 2가지를 input 값으로 받았을때, 2019년의 해당 월과 일의 다음 날의 월과 일을 출력해주세요.
예를 들어, month 는 3이고 일은 31이면 2019년 3월 31일의 다음날은 4월 1일 임으로 다음과 같이 출력이 되면 됩니다 (월 과 일을 각각 다른 줄에 출력 해주세요).
2019년도의 달력을 검색했다.
28일 : 2월
30일 : 4, 6, 9, 11월
31일 : 1, 3, 5, 7, 8, 10, 12월
기본적으로 if문에
month는 0<month<=12
day의 기준을 0<day<28로 잡고 elif로 다른 조건들을 추가했다.
month = int(input())
day = int(input())
if (month > 0 and month <= 12) and (day > 0 and day < 28) :
print(month)
print(day + 1)
elif month == 2 and day == 28 :
print(3)
print(1)
elif month == 12 and day == 31 :
print(1)
print(1)
elif (month == 4 or month == 6 or month == 9 or month == 11) and day >= 30 :
print(month + 1)
print(1)
elif (month == 1 or month == 3 or month == 5 or month == 7 or month == 8 or month == 10) and day >= 31 :
print(month + 1)
print(1)
else :
print(month)
print(day + 1)
month = int(input())
day = int(input())
if ((day == 30) and (month == 4 or month == 6 or month == 9 or month == 11)
or (day == 28) and (month == 2)
or (day == 31)):
month += 1
day = 1
else:
day += 1
if month == 13:
month = 1
print(month)
print(day)
어떻게... 이런 코드를 짤 수 있는거지.......? 이렇게 간단하게...........................
1분동안 놀라고 1분동안 감탄하고 1분동안 잠깐 자괴감들었다가 1분동안 스스로를 다독인 후에야 하나씩 분해했다.
아무래도 ㅎㅏ나하나 뜯어보려고 노트에 필기해서 하나씩 훑어봤다.
30일로 끝나는 4,6,9,11월과 2월 28일, 31일이 한 if문 안에 넣을 수 있는거였다니.. 아무래도 열심히 공부해야할 것 같다. 더 열심히 많은 코드를 쳐봐야지..