사용 언어 - Python3
문제 - 개인정보 수집 유효기간
정답
defaultdict 이용한 딕셔너리 구현 (정답 맞춘 여부 X)
today 연,월,일로 인덱싱
terms 유형:개월 dic로 저장
privacies 연,월,일 인덱싱 저장
두 연,월,일 비교!
def solution(today, terms, privacies):
answer = []
time_dic = dict()
year,month,day = int(today[0:4]),int(today[5:7]),int(today[8:]) #오늘의 연, 월, 일
for term in terms:
case = term[0] # 유형
time_dic[case] = int(term[2:]) # 유형별 기간 dic 저장
for i in range(len(privacies)):
data, case = privacies[i].split()
p_year, p_month, p_day = int(data[0:4]),int(data[5:7]),int(data[8:10]) # 시간
p_month += time_dic[case] #유형별 기간 p_month에 추가해주기
while p_month > 12: # 12월 넘으면 month-12, year+1
p_month -= 12
p_year += 1
# 유효기간이 today의 연,월,일보다 작아야 보관가능하다. +1
if p_year > year:
continue
elif p_year == year:
if p_month > month:
continue
elif p_month == month:
if p_day > day:
continue
answer.append(i+1) # 인덱스 0부터 시작하기 때문에
return answer
레퍼런스
- 정답 깃허브
'Algorithm > 구현' 카테고리의 다른 글
[프로그래머스 lv 1] 부족한 금액 계산하기 (1) | 2023.05.17 |
---|---|
[프로그래머스 lv 1] 없는 숫자 더하기 (0) | 2023.05.17 |
[프로그래머스 lv 1] 나머지가 1이 되는 수 찾기 (0) | 2023.05.16 |
[프로그래머스 lv 1] 신고 결과 받기 (0) | 2023.05.15 |
[프로그래머스 lv 1] 성격 유형 검사 (1) | 2023.05.12 |
댓글