728x90
반응형
중복된 문자 제거
문제설명
: 문자열 my_string 이 매개변수로 주어진다. my_string에서 중복된 문자를 제거하고 하나의 문자만 남긴 문자열을 return 하도록 solution 함수를 완성하라.
제한 사항
- 1 ≤ my_string ≤ 110
- my_string은 대문자, 소문자, 공백으로 구성되어 있습니다.
- 대문자와 소문자를 구분합니다.
- 공백(" ")도 하나의 문자로 구분합니다.
- 중복된 문자 중 가장 앞에 있는 문자를 남깁니다.
입출력 예
my_string | result |
"people" | "peol" |
"We are the world" | "We arthwold" |
첫번째 접근
: Set()은 유일한 값만 담을 수 있으므로 Set()에 해당 문자열을 전달해 중복된 문자열이 제거된 Set 객체를 만든다. 그리고 반복문을 돌며 객체 내 문자들을 합쳐 반환한다.
function solution(my_string) {
let str = new Set(my_string);
let answer = '';
for(let i of str){
answer += i
}
return answer;
}
두번째 접근
: Set()을 이용해 중복된 문자는 제거했지만, 반복문을 사용하니 코드가 길어진 것 같다. 객체를 배열로 바꿔 reduce()함수를 쓰면 더 간단하게 코드를 작성할 수 있다고 생각했다.
function solution(my_string) {
let str = new Set(my_string);
return [...str].reduce((acc, cur) => acc+cur)
}
solution
function solution(my_string) {
return [...new Set(my_string)].join('');
}
(join()이 생각이 안났다...ㅜ)
728x90
반응형
'자료구조 및 알고리즘 > JavaScript Practice' 카테고리의 다른 글
JS Practice) 프로그래머스 : 가까운 수 (0) | 2023.03.14 |
---|---|
JS Practice) 프로그래머스 : 숫자 빈도수 구하기 (0) | 2023.03.13 |
JS Practice) 프로그래머스로 공부하기 9 (0) | 2023.03.10 |
JS Practice) 프로그래머스 : A로 B만들기 (0) | 2023.03.08 |
JS Practice) 프로그래머스로 공부하기 7 (0) | 2023.03.07 |