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은 자세하게 익히는게 나을 것 같아서 관련 포스팅을 따로 올려야겠다
'Algorithm Solution > 프로그래머스' 카테고리의 다른 글
| [프로그래머스] 2차원으로 만들기 (0) | 2023.02.01 |
|---|---|
| [프로그래머스] Lv.0_A로 B 만들기 (0) | 2023.01.30 |
| [프로그래머스] 합성수 찾기 (0) | 2023.01.27 |
| [프로그래머스] 가장 큰 수 찾기 (0) | 2023.01.26 |
| [프로그래머스] 진료 순서 정하기 (1) | 2023.01.25 |
