Kakao Blind Recruitment 2021 문제
날짜 | 분류 | 번호 | 알고리즘 분류 | |
---|---|---|---|---|
21-03-25 | 프로그래머스 | 60057 | 문자열 | 링크 |
문제 요약
- 문자열을 앞에서부터 n개씩 잘랐을 때 같은 값이 연속해서 나오면
반복해서 나온 개수``반복된문자열
로 줄인다- ex) ababrtrt => 2ab2rt
- n개씩 자르고 남은 문자열은 뒤에 붙여줌
- 압축한 후의 길이를 비교해서 가장 짧은 것을 정답으로 반환
풀이
- 길이를 1~문자열의길이 반복
- idx를 0부터 길이만큼 늘려주면서 반복
- 이전 문자열과 지금 문자열을 비교해서 같으면 cnt 증가
- 다르면 String builder인 result에 cnt와 직전 문자열을 붙여줌
- cnt가 1이면 붙이지 않음
- pre=cur을 해주고, cnt는 1로에 초기화
- 남은 문자열 털어넣기
- 비교
비고
- 테케 5번이 하나 틀렸는데.... 바로바로,,, length가 1인 문자열....! 두둥탁
- 시간 좀 줄여보겠다고 자르는 단위를 1부터 lenth/2로 했더니 위의 테케를 틀림... ㅠㅠ
'알고리즘왕 > Programmers' 카테고리의 다른 글
[프로그래머스/42889/JAVA] 실패율 (0) | 2021.03.31 |
---|---|
[프로그래머스/42890/JAVA] 후보키 (0) | 2021.03.29 |
[프로그래머스/42892/JAVA] 길 찾기 게임 (0) | 2021.03.29 |
[Programmers/72413/JAVA] 합승 택시 요금 (0) | 2021.03.25 |
[Programmers/60057/JAVA] 문자열 압축 (0) | 2021.03.25 |