본문 바로가기
일반 학습/코딩 테스트

[JavaScript] Splice

by StelthPark 2022. 3. 2.
function solution(strings, n) {
  for (let i = 0; i < strings.length; i++) {
    strings[i] = strings[i].split("");
    strings[i].unshift(strings[i].splice(n, 1));
    strings[i] = strings[i].join("");
  }

  strings.sort();

  for (let i = 0; i < strings.length; i++) {
    strings[i] = strings[i].split("");
    strings[i].splice(n, 0, strings[i].shift());
    strings[i] = strings[i].join("");
  }
  return strings;
}

1번 Splice(n , m)

배열의 n번째부터 m개를 삭제하고 삭제된 값을 리턴한다.

 

2번 Splice(n, m , o)

배열의 n번째부터 m개 삭제하고 그 사이에 o를 삽입한다.

 

처리흐름

strings의 길이 만큼 i를 돌리게 되는데 strings배열의 i번째 배열을 ""로 하나하나 문자열을 쪼갠다. (split)

쪼개진 문자들 중 n번째에 있는 문자를 없애고(splice) 그 문자를 리턴하여 바로 앞으로 옮긴다. (unshift)

join으로 다시 문자들을 붙여 문자열로 만든다.

 

반복 수행 후 문자들을 오름차순으로 정렬한다.

 

정렬된 문자열들을 split으로 문자하나하나로 다시 쪼개고 쪼갠 문자의 n번부터 0개를 제거하고 그 사이에 shift를 통해 맨 앞 요소를 제거한 문자를 리턴하여 사이에 삽입한다. (splice)

join으로 다시 문자들을 붙여 문자열로 만든다.

댓글