Algorithm/프로그래머스

[python] 프로그래머스 Lv 1 - 개인정보 수집 유효기간(2023 KAKAO BLIND RECRUITMENT)

떵호 2023. 10. 3. 15:25
728x90

🔗 문제 링크

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

📁 분류

구현

💡풀이

이 문제는 주어진 개인 정보와 이용 기간을 확인하여 만료된 개인 정보를 찾는 문제이다.

문제에서 한 달을 28일로 가정했기 때문에 일 수로 표현하기 메우 쉽다. 따라서 주어진 변수들을 일 수로 계산하여 만료된 개인 정보를 찾으면 된다.

💻 코드

def get_day(year, month, day):
    return (year - 1) * 336 + (month - 1) * 28 + day


def solution(today, terms, privacies):
    answer = []

    today = get_day(*map(int, today.split('.')))
    dic = {}

    for term in terms:
        name, expiration = term.split(' ')
        dic[name] = int(expiration) * 28

    for i in range(len(privacies)):
        date, name = privacies[i].split(' ')
        date = get_day(*map(int, date.split('.')))
        if date + dic[name] <= today:
            answer.append(i + 1)

    return answer
728x90