알고리즘
[프로그래머스] 개인정보 수집 유효기간
hminor
2023. 6. 9. 00:23
반응형
# 성공
def solution(today, terms, privacies):
year, month, day = map(int,today.split('.'))
dic = {i.split(' ')[0]: int(i.split(' ')[1]) for i in terms}
result = []
for idx, i in enumerate(privacies):
full_year, tm = i.split(' ')
y, m, d = map(int,full_year.split('.'))
if (year*12*28+month*28+day)-(y*12*28+(dic[tm]+m)*28+d) >= 0: result.append(idx+1)
return result
# 런타임 에러
from datetime import datetime
def solution(today, terms, privacies):
year, month, day = map(int,today.split('.'))
dic = {i.split(' ')[0]: int(i.split(' ')[1]) for i in terms}
result = []
for i in range(len(privacies)):
full_year, tm = privacies[i].split(' ')
y, m, d = full_year.split('.')
if int(m)+dic[tm] > 12:
y = int(y)+(int(m)+dic[tm])//12
if (int(m)+dic[tm])%12 < 10: m = (int(m)+dic[tm])%12
else: m = (int(m)+dic[tm])%12
else:
if (int(m)+dic[tm])%12 < 10: m = int(m)+dic[tm]
else: m = int(m)+dic[tm]
date_to_compare = datetime(int(y), m, int(d))
now = datetime(year, month, day)
if (now -date_to_compare).days >= 0:
result.append(i+1)
return result