본문 바로가기

코딩테스트

[프로그래머스(Programmers)/Level2] 문자열 압축

 

<내 코드>

<풀이 과정>

문자열을 몇개 단위로 반복하든 최소 한번은 반복 되어야 하기 때문에 len(s)//2 +1까지만 끊어주고,

반복 되는 횟수 만큼 count를 증가 시켜주고 이어 붙여주어 해당 문자열의 길이를 list에 추가해주면

몇글자로 끊어야 최소 문자열로 압축 되는지 알 수 있다. answer리스트에서 최솟값을 리턴해주면 정답이 된다.

 

 

<느낀점>

엄청 시간을 소요한 문제인데, 이유는 a=[1,2,3,4,5]일때, a[3:8]과 같은 부분리스트는 당연히 오류가 날 것이라고 생각했기 때문이다.

해본 결과 오류가 나지 않고 인덱스를 벗어나면 그냥 해당 리스트의 끝원소 까지 포함하는 것이었다. 추가적으로 문제의 조건을 꼼꼼히

읽지않아 문자열의 길이가 1 일때 예외적으로 처리해주는 부분을 빠트렸다. 약 30분 동안 왜 틀린지 모르다가 결국 찾았다.

항상 제한조건을 정확히 살펴보는 습관을 길러야겠다.