이 포스팅에서는 2020 카카오 블라인드 채용 1차 문제인 ‘문자열 압축’ 문제를 해설합니다. 본 풀이에 대한 테스트는 https://programmers.co.kr/learn/courses/30/lessons/60057에서 수행하였으며 공식 풀이와 일치하지 않을 수 있습니다.
공식 풀이는 링크를 참조하시기 바랍니다.
출처 : 2020 KAKAO 블라인드 채용 온라인 1차
링크 : https://programmers.co.kr/learn/courses/30/lessons/60057
카테고리 : Backtracking
난이도 : 쉬움
문자열이 주어질 때 임의의 단위 N으로 압축하여 만들어지는 최소 길이 문자열의 길이를 리턴하여라. 압축 단위 N은 1 ~ 문자열의 길이가 가능하다.
예를 들어 abcabcddab를 길이 3으로 압축하면 abc abc dda b에서 abc가 2개, dda는 하나 그리고 b가 하나이므로 2abcddab로 길이는 8이 된다.
def solution(s): min_len = len(s) for i in range(1, len(s) // 2 + 1): length = 0 prev = “” idx = 0 while idx < len(s): token = s[idx:min(idx+i, len(s))] idx += len(token) cnt = 1 length += len(token) while idx + i <= len(s) and token == s[idx:idx + i]: idx += i cnt += 1 if cnt > 1: length += len(str(cnt)) if length < min_len: min_len = length return min_len | cs |
Competition 카카오 블라인드 채용 문자열 압축
출장 오랜만에 출장을 간다. 미국으로 가는 출장은 항상 힘들다. 비행시간은 10시간에서 12시간. 도착해서 시차 극복도…
건강검진 재작년 말인가 작년 1월이었나, 인생 최악의 건강검진 결과를 받고서 다짐했었다. 2025년 건강검진에서는 완벽한 검사결과를…
운동 계획 운동과 식단과 피부관리 동시에 하니 시너지가 엄청나다. 변화가 눈에 보일 정도로 빠르다보니, 성취감도…
This website uses cookies.