개인정보 수집 유효기간

최민수·2023년 2월 23일
0

알고리즘

목록 보기
8/94
# 날짜 정보 파싱 후 비교
def changeDate(date, month, today):
    yr, mth, day = map(int, date.split("."))
    t_yr, t_mth, t_day = map(int, today.split("."))
    
    yr, mth, day = changeFormat(yr, mth+month, day)
    
    return checkDate(yr, t_yr, mth, t_mth, day, t_day)
    
    
# 두 날짜 비교
def checkDate(yr, t_yr, mth, t_mth, day, t_day):
    val = 32*13*yr + 32*mth + day
    t_val = 32*13*t_yr + 32*t_mth + t_day
    
    if t_val >= val:
        return True
    return False
    

# 날짜 형식에 맞게 조정
def changeFormat(yr, mth, day):
    while(mth > 12):
        yr += 1
        mth -= 12
    return yr, mth, day


def solution(today, terms, privacies):
    answer = []
    termDict = {}
    
    # 약관 정보
    for items in terms:
        item, val = items.split(" ")
        termDict[item] = int(val)
    
    # 파기할 정보 순회
    for idx, items in enumerate(privacies):
        date, term = items.split(" ")
        if changeDate(date, termDict[term], today):
            answer.append(idx+1)
    
    return answer


출처: 프로그래머스 코딩 테스트 연습, https://school.programmers.co.kr/learn/challenges

profile
CS, 개발 공부기록 🌱

0개의 댓글