(프로그래머코딩시험실습 Lv.1) 개인정보 수집유효기간

https://school.programmers.co.kr/learn/courses/30/lessons/150370

def solution(today, terms, privacies):
    t_y, t_m, t_d = (int(a) for a in today.split("."))
    
    answer = ()
    for i, p in enumerate(privacies):     
        y, m, d = (int(a) for a in p(:-2).split("."))
        
        for t in terms:
            if p(-1) == t(0):
                m += int(t(2:))
                break
                
        # 월
        if m > 12:
            if m % 12 == 0:
                y += (m - 12) // 12
                m = 12
            else:
                y += m // 12
                m = m % 12    
            
        # 일
        if d == 1:
            if m == 1:
                y -= 1
                m = 12
            else:
                m -= 1
            d = 28
        else:
            d -= 1
        
        # today가 위 날짜보다 크면 유효기간이 지난 것
        if t_y > y:
            answer.append(i+1)
        elif t_y < y:
            continue
        else:
            if t_m > m:
                answer.append(i+1)
            elif t_m < m:
                continue
            else:
                if t_d > d:
                    answer.append(i+1)
                else:
                    continue
    
    answer.sort()
    
    return answer