문제 해석
문제 풀이
문자열 구현이 주된 문제였다. 생각보다 문자열 다루는게 익숙치 않았고 파이썬이 주 언어가 아니다보니 시간이 좀 걸렸던 것 같다. 문자열 다루기에는 파이썬이 참 편리하고 좋은 것 같다.
이 문제의 핵심은 결국 모든 날수를 더해서 오늘 날짜보다 더 작다면 유효기간이 지난 것으로 간주하고 배열에 넣는 것이다.
코 드
def to_days(date):
year, month, day = map(int,date.split('.'))
return (year - 1) * 12 * 28 + (month - 1) * 28 + day
def solution(today, terms, privacies):
answer = []
d_day = to_days(today)
terms_map = {i.split(' ')[0]: int(i.split(' ')[-1]) for i in terms }
for idx, it in enumerate(privacies):
now = to_days(it.split(' ')[0]) + int(terms_map[it.split(' ')[-1]]) * 28
if d_day >= now:
answer.append(idx+1)
return answer
느낀점: 카카오가 문자열을 참 좋아하는 것 같다.
문제링크: https://school.programmers.co.kr/learn/courses/30/lessons/150370
'Problem Solving > 프로그래머스' 카테고리의 다른 글
[프로그래머스/C++] 디스크 컨트롤러 풀이 (0) | 2023.04.14 |
---|---|
[프로그래머스/C++] 2023 KAKAO BLIND RECRUITMENT 택배 배달과 수거하기 (0) | 2023.03.30 |
[프로그래머스/파이썬] 2023 카카오 블라인드 리크루팅 표 병합 (0) | 2023.03.28 |
[프로그래머스/C++] 콜라츠 추측 (0) | 2022.01.28 |
[프로그래머스/C++] 체육복 (0) | 2022.01.28 |