더북(TheBook)

문제 풀이

마지막으로 카카오 2020 블라인드 테스트에서 출제되었던 문제를 풀어보겠습니다. 카카오 코딩 테스트라고 해서 엄청나게 어려운 문제가 나오는 것은 아닙니다. 쉬운 문제는 지문이 긴 대신 그 안에 구현해야 할 정보가 모두 들어 있기 때문에 문장을 잘 읽고 어떻게 접근할지를 결정하기만 하면 문제를 풀 수 있습니다. 대신 문제 풀이법을 결정하기 위한 지식과 이를 만들기 위한 적절한 접근 방법이 요구되므로 처음으로 테스트를 보는 것이라 가정하고 조금 자세하게 문제를 분석해보겠습니다.

 

문제 풀이 흐름

1. 압축의 기준은 자신과 동일한 단어가 문자열 내에 존재할 때 가능합니다. 따라서 단어가 일정 길이 이상을 넘어가면 더 이상 동일한 단어를 찾을 수 없기 때문에 압축 가능한 최대 단어의 길이는 원래 주어진 단어의 입니다.

2. 해당 규칙이 몇 번 반복되었는지 확인하기 위해 이를 관리하는 변수를 하나 두어야 하며, 반복된 횟수가 2번 이상일 때만 숫자를 붙여서 반환합니다.

3. 주어진 규칙을 바탕으로 전체를 조사해야 하므로 현재 자기 위치의 단어 + 현재 규칙만큼 앞의 위치를 확인하면서 진행해야 합니다. 주어진 규칙의 길이보다 남은 길이가 짧다면 찾을 수 없기 때문에 탐색을 중단하거나 미리 탐색 범위를 조정해야 합니다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.