반응형
문제 설명
문제 원본은 프로그래머스에 있습니다.
제한 사항
풀이
우선 문제를 보고 바로 드는 생각은 다른 것보다 반복문을 몇 개를 써야 하는지 였다.
나의 접근 방법
- 문자열은 1개부터 전체 문자열/2개 까지 자를 것이다.(그 이상은 잘라도 중복이 있을 수가 없으니..)
- 다음 글자부터 순환하되, 자른 문자열의 길이만큼 이동한다.
- 문자열 중간중간에 중복된 개수가 들어가야 하므로 자른 문자열을 잘 보관해놓는다.
원래 성격이 우선 돌아가게 짜 놓고.. 전체적으로 읽어본 다음에 불필요해 보이는 걸 정리하는 편이라.. 생각나는 대로 반복문을 적었다. 우선 최소 2개부터 시작..
문자열 사이에 숫자를 넣는 게 내 생각처럼 되지 않아서 구글링의 힘을 빌렸다.
그래서 나온 소스코드
function solution(s) {
var answer = s.length, len = parseInt(s.length/2), totalLen = s.length;
for(let i=1; i<=len; i++) {
let cnt = 1;
let temp = "";
for(let j=0; j<totalLen; j += i) {
let curText = s.substring(j, i+j);
let nextText = s.substring(i+j, j+i*2);
if(curText == nextText) {
cnt++;
} else {
if(cnt == 1) {
temp += curText;
} else {
temp += (cnt+curText);
cnt = 1;
}
}
}
answer = Math.min(answer, temp.length);
}
return answer;
}
제출 후 다른 사람의 풀이를 봤는데 역시 다양한 코드가 많이 보였다.
나도 좀 더 고민해볼걸..
반응형
'개발 > 프로그래머스' 카테고리의 다른 글
[프로그래머스/자바스크립트(JS)] 오픈채팅방 (0) | 2022.04.27 |
---|---|
[프로그래머스/자바스크립트(JS)] 실패율 (0) | 2022.04.21 |
[프로그래머스/자바스크립트(JS)] [카카오 인턴] 키패드 누르기 (0) | 2022.04.21 |
[프로그래머스/자바스크립트(JS)] 숫자 문자열과 영단어 (0) | 2022.04.21 |
[프로그래머스/자바스크립트(JS)] 신규 아이디 추천 (1) | 2022.04.21 |