Notice
Recent Posts
Recent Comments
Link
«   2024/07   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31
Tags
more
Archives
Today
Total
관리 메뉴

김찬양의 개발일지

6일차. 개인정보 수집 유효기간 본문

코딩테스트/Programmers Level 1

6일차. 개인정보 수집 유효기간

자유로운영혼이다냥 2023. 11. 29. 21:54

문제

풀이과정

문제에 한달의 길이는 28일로 고정이라하였으니 날짜 임포트보단 새로 함수를 만드는편이 좋아보여서 date함수로 연월일 문자열을 int의 일로 통합하는 함수를 제작했다.

 

terms의 형식을 딕셔너리로 전환해 보다 사용하기 쉽고, 개월수가 아닌 일수로 전환하여 계산하기 쉽도록 했다.

 

준비된 도구들을가지고 각 열의 날짜를 연산해 초과한 약관의 번호를 append하였다.

정답

def date(datestr):
    year, month, day = map(int, datestr.split('.'))
    month += year*12
    day += month*28
    return day

def solution(today, terms, privacies):
    answer = []
    term = {}
    for i in terms:
        l = i.split()
        term.update({l[0]:int(l[1])*28})
    today = date(today)
    for i, s in enumerate(privacies):
        day, char = s.split()
        if today >= date(day)+term.get(char):
            answer.append(i+1)
    return answer

'코딩테스트 > Programmers Level 1' 카테고리의 다른 글

8일차. 가장 가까운 같은 글자  (1) 2023.12.01
7일차. 크기가 작은 부분문자열  (1) 2023.11.30
5일차. 둘만의 암호  (0) 2023.11.28
4일차. 카드 뭉치  (0) 2023.11.27
3일차. 대충 만든 자판  (2) 2023.11.26