코딩기록

set) 중복된 문자 제거 / [...new Set(매개변수)].join(''); set으로 중복 제거 본문

프론트/JS)코딩테스트

set) 중복된 문자 제거 / [...new Set(매개변수)].join(''); set으로 중복 제거

뽀짝코딩 2024. 9. 25. 21:45
728x90

set

Array와 Set 복잡도 비교

기능 배열 (Array) Set (Set)
삽입 (Insertion)   push() - O(1) (배열 끝에 삽입 시) 
  splice() - O(n) (특정 위치에 삽입 시)
  add() - O(1)(위치 지정 불가)
삭제 (Deletion)   pop() - O(1) (끝에서 삭제 시)
  splice() - O(n) (특정 위치에서 삭제 시) 
  filter() - O(n) (특정 요소 삭제 시)
  delete() - O(1)
검색 (Search)   indexOf() 또는 includes() - O(n)   has() - O(1)
접근 (Access)   arr[index] - O(1) (인덱스를 통한 접근)   for...of 반복 필요 - O(n) (인덱스 없음)
중복 허용 여부   push() 또는 splice() - 허용   add() - 허용하지 않음
크기 확인   length - O(1)   size - O(1)
순서 유지 여부   순서 유지   순서 유지 (삽입된 순서대로 반복)

 

 

 

 

문제 설명

문자열 str이 매개변수로 주어집니다. str에서 중복된 문자를 제거하고 하나의 문자만 남긴 문자열을 return하도록 solution 함수를 완성해주세요.


제한사항

  • 1 ≤ str ≤ 110
  • str은 대문자, 소문자, 공백으로 구성되어 있습니다.
  • 대문자와 소문자를 구분합니다.
  • 공백(" ")도 하나의 문자로 구분합니다.
  • 중복된 문자 중 가장 앞에 있는 문자를 남깁니다.

입출력 예

str result

"people" "peol"
"We are the world" "We arthwold"

입출력 예 설명

입출력 예 #1

  • "people"에서 중복된 문자 "p"와 "e"을 제거한 "peol"을 return합니다.

입출력 예 #2

  • "We are the world"에서 중복된 문자 "e", " ", "r" 들을 제거한 "We arthwold"을 return합니다.
/**
 * @param {string} str
 * @return {string}
 */
const solution = str => {
  // do something
};

console.log(solution('people')); // 'peol'
console.log(solution('We are the world')); // 'We arthwold'

 

 


풀이

 

중복을 허용하지 않는 Set 객체의 특성을 활용하여 배열에서 중복된 요소를 제거할 수 있음.

고로, set 생성자 함수를 이용하는 것만으로 중복된 문자를 제거할 수 있음.

const solution = str => [...new Set(str)].join('');
console.log(solution('people')); // 'peol'
console.log(solution('We are the world')); // 'We arthwold'

 

 

 

 

 

 

반응형
Comments