from dateutil.parser import parse
from dateutil.relativedelta import relativedelta

def solution(today, terms, privacies):
    today = parse(today)
    keys, values = [], []
    answer = []
    
    for i in range(len(terms)):
        t = terms[i].split(' ')
        keys.append(t[0])
        values.append(t[1])
        
    terms = dict(zip(keys, values))
        
    for i in range(len(privacies)):
        p = privacies[i].split(' ')
        p_date = parse(p[0])
        p_type = p[1]
        
        f_date = p_date + relativedelta(months = int(terms[p_type]))
        
        if f_date <= today:
            answer.append(i+1)

    return answer

parse: 문자열을 datetime 객체로 변환
dict(zip(keys, values)): 문자열 2개로 딕셔너리 생성
relativedelta: month 이상 날짜 단위 연산에 사용
timedelta: day 이하 날짜 단위 연산에 사용

0개의 댓글