[Programmers] P150370 개인정보 수집 유효기간
[Programmers] P150370 개인정보 수집 유효기간
Question
Language: Python
주어진 문제의 조건에 따라 구현하면 되는 간단한 문제이다.
- 각 약관정보에 대해 개인정보 유지지간이 존재
- 각각의 사용자에 대해 개인정보 수집일자, 약관정보를 저장
각각의 수집일자는 yyyy.mm.dd형태로 이루어져 있기 때문에 이 문자열을 일 형태로 변환하여 연산 과정을 간편하게 한다. 이후, 각 사용자에 대해 개인정보 수집일자 + 약관유지 기간을 계산하여 현재 날짜를 기준으로 낮은 값이면 개인정보가 만료되었음을 의미하므로 정답에 추가한다.
Solution
#날짜 변환 함수
def convert_to_day(str):
year,month,day=str.split(".")
day=int(day)
month=int(month)*28
year=int(year)*12*28
return year+month+day
def solution(today, terms, privacies):
answer = []
#각각의 약관에 대한 정보 parsing
term_polocies={}
for term in terms:
term_type,term_duration=term.split()
term_polocies[term_type]=int(term_duration)
#현재 날짜를 일로 변환
today_day=convert_to_day(today)
#각각의 약관정보에 대해 조사
for i in range(len(privacies)):
privacy=privacies[i]
term_start_date,term_type=privacy.split()
term_start_date=convert_to_day(term_start_date)
#개인정보 수집일자 + 약관 유지 기간 < 현재 날짜 일경우 개인정보가 만료되었음을 의미하게 된다.
if term_start_date+term_polocies[term_type]*28 -1 < today_day:
answer.append(i+1)
return answer
댓글남기기