/ 제출 1 /
def solution(s):
answer = len(s)
for i in range(1, len(s)+1):
answ = ''
before = ''
before_cnt = 0
for step in range(0,len(s), i):
if before == s[step:step+i]:
before_cnt += 1
else:
if before_cnt > 1:
answ += str(before_cnt)
answ += before
before = s[step:step+i]
before_cnt = 1
if before_cnt > 1:
answ += str(before_cnt)
answ += before
answer = min(answer, len(answ))
return answer
채점 결과
정확성: 100.0
합계: 100.0 / 100.0
풀이소요시간 44분
꺄아아 😎 한 번에 통과했습니다. 기분 좋네요.
아이디어는 금방 떠올릴 수 있지만, 구현이 은근 까다로운 문제입니다.
특히 제가 약한 인덱스 범위를 예민하게 처리해줘야해서 심혈을 기울여서 작성했습니다.
디버깅이 힘을 발휘한 풀이과정이었습니다. step설정에서 옮길 때 어떻게 동작되는지 확실히 했어야 했는데 print로 찍어가며 값을 만들어줬습니다.
헷갈릴 때는 머릿 속으로 낑낑대기보다 보고 확인하고 넘어가는게 오히려 뒤에 가서 꼬이는 것보다 시간을 아끼곤 합니다.
프로그래머스 다른 분들 풀이 보면 되게 다양한 방식으로 많이 푸셨는데, 3개 정도 따라 작성해 손코딩하며 익혔습니다.
진짜 같은 문제도 이렇게 다양하게 구성되는 것 보면 매번 신기하고 재밌습니다.
'CodingTest > Programmers' 카테고리의 다른 글
[ 프로그래머스 ] 구명보트 (0) | 2022.06.25 |
---|---|
[ 프로그래머스 ] 오픈채팅방 (0) | 2022.06.24 |
[ 프로그래머스 ] 큰 수 만들기 (0) | 2022.06.24 |
[ 프로그래머스 ] 카펫 (0) | 2022.06.23 |
[ 프로그래머스 ] 소수 찾기 (0) | 2022.06.23 |