강의

멘토링

커뮤니티

Cộng đồng Hỏi & Đáp của Inflearn

Hình ảnh hồ sơ của wyswhsl212288
wyswhsl212288

câu hỏi đã được viết

Giới thiệu về giải quyết vấn đề thuật toán JavaScript (chuẩn bị cho bài kiểm tra mã hóa)

5. Nén chuỗi

splice 를 이용해서 풀어봤습니다. 이렇게 풀어도 될까요?!

Viết

·

316

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'));
javascript코딩-테스트

Câu trả lời 2

0

Set 자료형은 중복을 제거 하기 때문에 중복 문자열 길이가 같으면 그것도 중복 제거 해버립니다.

console.log(sol('KKHTTSSSSSEE'));

결과 : K2HTS5E

K2가 T2가 나와야 하는데 2가 중복 되어 사라지는걸 알 수 있습니다.

0

codingcamp님의 프로필 이미지
codingcamp
Người chia sẻ kiến thức

안녕하세요^^

마지막 문자를 처리하지 못하는 것 같습니다. 아래와 같이 입력하면 결과가 제대로 나오지 않습니다.

console.log(sol('KHHHSSEEEEE'));
Hình ảnh hồ sơ của wyswhsl212288
wyswhsl212288

câu hỏi đã được viết

Đặt câu hỏi