-
카테고리
-
세부 분야
알고리즘 · 자료구조
-
해결 여부
미해결
splice 를 이용해서 풀어봤습니다. 이렇게 풀어도 될까요?!
23.09.22 15:31 작성 조회수 160
0
처음에 answer을 배열로 만들게 되서 중복제거와 join 을 시키게 되면서 코드의 양이 좀 많아진거 같습니다.
function sol(arr) {
let answer = arr.split('');
let s = arr[0];
let ctn = 1;
for (let i = 1; i < arr.length; i++) {
if (arr[i] === s) {
s = arr[i];
ctn++;
} else {
s = arr[i];
if (ctn > 1) {
answer.splice(i, 0, ctn);
ctn = 1;
}
}
}
answer = new Set([...answer]);
answer = [...answer].join('');
return answer;
}
console.log(sol('KKHSSSSSSSE'));
답변을 작성해보세요.
0
rhkdtjd_12
2023.12.03
Set 자료형은 중복을 제거 하기 때문에 중복 문자열 길이가 같으면 그것도 중복 제거 해버립니다.
console.log(sol('KKHTTSSSSSEE'));
결과 : K2HTS5E
K2가 T2가 나와야 하는데 2가 중복 되어 사라지는걸 알 수 있습니다.
0
김태원
지식공유자2023.09.23
안녕하세요^^
마지막 문자를 처리하지 못하는 것 같습니다. 아래와 같이 입력하면 결과가 제대로 나오지 않습니다.
console.log(sol('KHHHSSEEEEE'));
답변 2