문제 : 개인정보 수집 유효기간
풀이 방법
월 마다 일 수가 28일로 고정되어 있으니 일 단위로 계산을 하기가 실제 날짜 단위보다 쉽게 할 수 있다. 일 단위로 계산 해야할 날짜를 쪼개서 개인정보 날짜랑 비교를 하면 된다.
소스 코드
def solution(today, terms, privacies):
answer = []
# terms dict
privacy_cat_dict = dict()
for i in terms:
i = i.split()
privacy_cat_dict[i[0]] = i[1] # {'A': '6', 'B': '12', 'C': '3'}
today_date = trans_date(today.split('.')) # 679551
for i, privacy in enumerate(privacies):
privacy = privacy.split() # ['2021.05.02', 'A']
privacy_date_str = privacy[0] # '2021.05.02'
cat = privacy[1] # 'A'
privacy_date = trans_date(privacy_date_str.split('.')) # 678707
if (privacy_date + (int(privacy_cat_dict[cat]) * 28)) <= today_date:
answer.append(i+1)
return answer
def trans_date(date: list):
y, m, d = date
cal_date = (int(y) * 12 + int(m)) * 28 + int(d)
return cal_date
'이전 게시글 > 공부 관련' 카테고리의 다른 글
[백준 10026번 문제, Python 3] 적록색약 (3) | 2023.12.31 |
---|---|
일본 규슈 공업 대학교 연구실 해외 연수 2주일차 후기 (3) | 2023.08.02 |
일본 규슈 공업 대학교 연구실 해외 연수 1주일차 후기 (0) | 2023.07.24 |
파이썬 슬랙 챗봇 만들기 Slack Python ChatBot 코드 최신정보 (0) | 2023.07.11 |
티스토리에 움짤 이모티콘 올리는 방법 feat. Tenor (0) | 2023.07.11 |