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

YuRim Lee·2023년 2월 3일
0
post-thumbnail

문제 설명

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

제한사항

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

입출력 예

my_string 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합니다.

내코드

리듀스함수를 이용한 코드



function solution(my_string) {
   
    //my_string을 spread 연산자로 배열을 만들어준다 .
    //acc 의 초기값은 [] 이다 
    //배열에 cur(현재값) 이 포함되어있는지 확인한다 
    // 포함되어있으면 그대로 배열을 출력하고 
	// 포함되어있지않으면 현재 값을 push 한다. 

    let check = [...my_string].reduce((acc, cur ) => 
        acc.includes(cur) ? acc : [...acc , cur] 
     ,[]).join("")
	// 출력 
    //['p'] 
    //['p', 'e']
    //['p', 'e' , 'o']
    //['p', 'e' , 'o'] 중복문자인 p 는 출력되지않고 그전배열 그대로 출력
	//['p', 'e' , 'o' , 'ㅣ']
    //['p', 'e' , 'o' , 'ㅣ'] 중복문자인 e 는 출력되지않고 그전배열 그대로 출력
    return check;
}
let my_string = 'people'
console.log(solution(my_string))

배우고싶은 코드

set 을 이용한 풀이

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

reduce 함수는 너무재밌는거같당 ,,,
set 은 중복제거니까 바로 되넹

이미지출처 : https://www.ajunews.com/view/20190722152409181

profile
성장하는개발자

0개의 댓글