반응형
이번 문제는 파이썬 라이브러리를 임포트해서 사용하면 편한 문제였습니다.
datetime 라이브러리를 자주 사용할 일이 없어서 처음에 조금 어려웠지만,
datetime, dateutil 라이브러리의 사용법을 이용해서 날짜 및 시간 계산을 쉽게 할 수 있었습니다.
파이썬이기 때문에 정답률이 낮은 편인데도 쉽게 해결할 수 있었던 것 같아요
import time
import datetime
from dateutil.relativedelta import relativedelta
def solution(today, terms, privacies):
months = 0
date = ''
answer = []
today = today.replace('.', '-')
# today가 2019.01.01라면 replace 메소드를 이용해서 2019-01-01로 변경해줍니다.
for i in range(len(privacies)):
#어떤 약관 종류인지 알아보기 위한 for문입니다.
for j in range(len(terms)):
if privacies[i][-1] == terms[j][0]:
months = int(terms[j][2:])
#몇 달 간 보관할 수 있는 지 알아보았습니다.
break
date = privacies[i][:-2].replace('.', '-')
date = datetime.datetime.strptime(date,'%Y-%m-%d') + relativedelta(months=months)
#relativedelta(months=숫자)를 이용하여 몇 달 뒤가 될 지 더해줍니다.
#변수로 사용한 months에 값이 담겨 있습니다.
if time.strptime(today, "%Y-%m-%d") >= time.strptime(str(date), "%Y-%m-%d %H:%M:%S"):
answer.append(i+1)
return answer
반응형
'코딩' 카테고리의 다른 글
[파이썬] 마법의 엘리베이터 - 프로그래머스 코딩테스트 연습 (0) | 2023.08.18 |
---|---|
[파이썬] 코딩테스트 연습 - 성격 유형 검사하기 (0) | 2023.08.18 |
[파이썬] 코딩테스트 연습 - 신고 결과 받기 (0) | 2023.08.18 |
프로그래머스 AI 종합 분석 결과(feat. [파이썬] 바탕화면 정리 - 코딩테스트 연습) (2) | 2023.07.31 |
프로그래머스 AI 리포트 분석을 분석해보자 (0) | 2023.06.27 |