이 포스팅에서는 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 카카오 블라인드 채용 문자열 압축
Planning A well-structured plan has the following characteristics: First, the ultimate vision you aim to…
English The most common problem for English learners like myself is that we often use…
This website uses cookies.