⌨️ 프로그래머스/코딩테스트 입문

[프로그래머스] 중복된 문자 제거 | JS

하나둘세현 2024. 8. 13. 02:29
728x90

문제

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

해결 과정

function solution(my_string) {
  // (중복된 문자열을 제거한 것을) 결과로 저장할 변수
  let result = '';
  // my_string 순회하는 루프
  for (let i = 0; i < my_string.length; i++) {
    //   문자열에 있는 문자를 하나씩 꺼낸것을 저장하는 변수
    let char = my_string[i];

    // 중복 여부를 위한 변수를 만들음. 기본적으로는 중복된 변수를 갖고 있지 않다로 만듦
    let duplication = false;
    // 결과에 중복된 문자를 저장되었는지 확인하는 루프
    for (let j = 0; j < result.length; j++) {
      //  결과에 있는 문자가 char과 같다면
      if (result[j] == char) {
        // 중복은 허용으로 바뀌고 순회를 끝낸다.
        duplication = true;
        break;
      }
    }
    // 중복된 문자가 없다면 결과에 문자열 저장
    if (!duplication) {
      result += char;
    }
  }
  return result;
}

 

🤔 너무 복잡하게 생각하지 말자!

새롭게 알게된 점

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

 

..., new, Set, join의 개념은 봐도봐도 헷갈린다.

 

... 개념정리

 

 

new 개념정리

 

 

Set 개념정리

 

 

join 개념정리

 

 

 

728x90