반응형
https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV5PnnU6AOsDFAUq
SW Expert Academy
SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요!
swexpertacademy.com
날짜 계산기
# 1948. 날짜 계산기
month = {1:31, 2:28, 3:31, 4:30, 5:31, 6:30, 7:31, 8:31, 9:30, 10:31, 11:30, 12:31}
T = int(input())
for tc in range(1, T+1):
ans = 0
fm, fd, sm, sd = map(int, input().split())
if fm == sm:
ans = sd - fd
else:
for i in range(fm, sm+1):
if i == fm:
ans += (month[i] - fd)
elif i == sm:
ans += sd
else:
ans += month[i]
print('#{} {}'.format(tc, ans+1))
처음에는 month를 모두 if else로 처리해야하나 막막했는데
딕셔너리를 이용해서 쉽게 풀 수 있었다
월이 같은 경우에는 날짜만 빼주면 되니깐
fm==sm인 경우는 미리 계산해주고,
월이 다른 경우를 else에서 계산해주었다.
month(key)로 딕셔너리 values값에 접근하고 그 수를 더해주면 된다!
날짜는 세는 당일도 쳐야하기 때문에 마지막에 ans에서 +1
반응형
'study > swea' 카테고리의 다른 글
[swea] 1989. 초심자의 회문검사 : python (0) | 2021.09.23 |
---|---|
[swea] 1946. 간단한 압축풀기 : python (0) | 2021.09.22 |
[swea] 1859. 백만 장자 프로젝트 : python (0) | 2021.09.22 |
[swea] 1984. 중간 평균값 구하기 : python (0) | 2021.09.21 |
[swea] 1983. 조교의 성적 매기기 : python (0) | 2021.09.21 |