https://school.programmers.co.kr/learn/courses/30/lessons/150370?language=python3
def solution(today, terms, privacies):
answer = []
d = {} # 약관 dict
today = list(map(int, today.split('.')))
# 일 단위로 변환
today = today[0]*12*28 + today[1]*28 + today[2]
for t in terms:
n,m = t.split()
d[n] = int(m) * 28 # 일 단위로 비교
for idx, p in enumerate(privacies):
date, info = p.split()
date = list(map(int, date.split('.')))
date = date[0]*12*28 + date[1]*28 + date[2]-1+d[info]
if date < today:
answer.append(idx+1)
return answer
- 일 단위로 변환하여 비교하는 방법이다.
- 모든 달은 28일까지 있기 때문에 28을 곱해 일단위로 변환하였다.
- date[2]-1을 한 이유는 개인정보 수집일자가 2021.05.02 이고 유효기간이 6달이면 2021.11.1일까지 보관 가능하기 때문이다.
'Algorithm > Problems' 카테고리의 다른 글
99클럽 코테 스터디 35일차 TIL + 구현 (0) | 2024.12.02 |
---|---|
99클럽 코테 스터디 33일차 TIL + 구현 (1) | 2024.11.30 |
99클럽 코테 스터디 32일차 TIL + DP (0) | 2024.11.29 |
99클럽 코테 스터디 31일차 TIL + DP (0) | 2024.11.28 |
99클럽 코테 스터디 30일차 TIL + DP (0) | 2024.11.27 |