내 맘대로 공부
article thumbnail

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

 

ex) 입출력 예시

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

Thinking Process

공백도 포함해야하니 일단 split("")을 사용하고 빈 배열을 하나 만들어서 그 배열이 split한 각 요소 값을 포함하지 않으면 push하도록 하고 join해서 리턴하면 되겠다 !

 

 

Code

function solution(my_string) {
  let arr = my_string.split('');
  let result = [arr[0]];

  for (let i = 1; i < arr.length; i++) {
    if (!result.includes(arr[i])) {
      result.push(arr[i]);
    }
  }

  return result.join('');
}

가장 단순한 방법으로 반복문과 조건문을 활용해서 풀었다.

 

 

Another Code

function solution(my_string) {
    return [...new Set(my_string)].join('');
}

다른 사람의 풀이를 봤는데 Set이라는 것을 처음 봐서 놀라고,,, 한 줄이면 해결되는 것에 또 한 번 놀라고,,,

찾아보니 Set이라는 객체는 삽입 순서대로 요소를 순회할 수 있는데 중복을 허용하지 않는 객체로 안에 이미 같은 값이 존재한다면 추가되지 않는다고 한다. 세상에 이런 편리한 객체가 존재했었다니 !!!!

 

Set은 자세하게 익히는게 나을 것 같아서 관련 포스팅을 따로 올려야겠다

 

profile

내 맘대로 공부

@곰도리도리잼

잘못된 정보가 있다면 알려주세요 🧸