새소식

반응형
Algotithms

[2023 KAKAO BLIND RECRUITMENT] 개인정보 수집 유효기간

  • -
728x90
반응형

문제

  • 1~N번으로 분류되는 개인정보가 있다. 약관 종류에 따라 보관 유효기간이 다른데, 만약 A약관의 유효기간이 6달이라면 해당 개인정보는 수집기간으로부터 6달동안만 보관 가능하다.
  • 개인정보의 수집일자와 약관의 종류, 약관의 종류별 유효기간이 주어질 때 "파기해야할 개인정보"의 고유번호 구하기
  • 모든 달은 28일까지 있다고 가정한다. 

 

  • 1 <= 약관의 종류 <= 20
  • 1 <= 개인정보 개수 <= 100

 

풀이

  • 수집기간은 YYYY.MM.DD 형태로 주어지고, 유효기간은 달(Month)을 기준으로 주어진다. 
  • (수집기간 + 유효기간)을 days로 계산한 뒤, 파기해야하는지 확인한다. (calc 함수)

 

def calc(date, month) :
    y, m, d = map(int, date.split('.'))
    return y*28*12 + (m+month)*28 + d

def solution(today, terms, privacies):
    today = calc(today, 0)  # 오늘 날짜
    # 약관 정보 딕셔너리화
    term = {}
    for t in terms :
        a, m = t.split()
        term[a] = int(m)
    
    # 개인정보 별 파기해야하는지 확인
    answer = []
    for i, privacy in enumerate(privacies) :
        date, a = privacy.split()
        if today >= calc(date, term[a]) :
            answer.append(i+1)
            
    return answer

 

반응형

'Algotithms' 카테고리의 다른 글

[백준] 1758 알바생 강호  (0) 2023.09.03
[2023 KAKAO BLIND RECRUITMENT] 택배 배달과 수거하기  (0) 2023.08.29
[백준] 2735 윤년  (0) 2023.08.28
[백준] 11725 트리의 부모 찾기  (0) 2023.08.28
[백준] 2217 로프  (0) 2023.08.28
Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.