본문 바로가기

카카오 블라인드

(2)
[프로그래머스/파이썬] 2023 KAKAO BLIND RECRUITMENT 개인정보 수집 유효기간 문제 해석 문제 풀이 문자열 구현이 주된 문제였다. 생각보다 문자열 다루는게 익숙치 않았고 파이썬이 주 언어가 아니다보니 시간이 좀 걸렸던 것 같다. 문자열 다루기에는 파이썬이 참 편리하고 좋은 것 같다. 이 문제의 핵심은 결국 모든 날수를 더해서 오늘 날짜보다 더 작다면 유효기간이 지난 것으로 간주하고 배열에 넣는 것이다. 코 드 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..
[프로그래머스/파이썬] 2023 카카오 블라인드 리크루팅 표 병합 문제 해석 문제 풀이 merge와 unmerge 부분을 보고 바로 유니온 파인드(분리집합) 문제임을 알게되었다. 그런데 input을 tokenize할 필요가 있는 문자열 문제로 보여 C++이 아닌 파이썬으로 바꿔 풀게 되었다. (C++에 string split을 구현할 수 있지만 구현 방법이 빠르게 떠오르지 않았다.) 단지 이 문제에서는 단순 분리집합 문제와 다르게 고려해야할 사항이 많았는데 MERGE 를 할 경우 같은 셀이면 무시, 둘 중 한 셀만 있을 땐 그 값만 유지, 모두 값이 있을 땐 왼쪽 윗 셀을 따른다. UNMERGE 되면 지정한 위치가 그 값을 가지게 되고 다른 값들은 모두 초기화된다. Input이 (1, 1) 부터 시작된다. (0, 0)으로 생각하면 틀린다. MERGE 할 때 반대쪽 노드..