[프로그래머스] 중복된 문자 제거
카테고리 : 컴퓨터 공학
태그: programmers · Code Refactoring · 참고 할 만한 다른 사람의 코드 · 코딩 기초 트레이닝 · 프로그래머스 · 코딩테스트 연습 · JavaScript · 중복된 문자 제거 · js 중복된 문자 제거
태그: programmers · Code Refactoring · 참고 할 만한 다른 사람의 코드 · 코딩 기초 트레이닝 · 프로그래머스 · 코딩테스트 연습 · JavaScript · 중복된 문자 제거 · js 중복된 문자 제거
문제 설명
문자열 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) {
return [...my_string].filter((v, i) => my_string.indexOf(v) == i).join("");
}
나의 두번째 풀이(Code Refactoring)
function solution(my_string) {
let result = "";
for (i = 0; i < my_string.length; i++) {
if (my_string.indexOf(my_string[i]) === i) {
result += my_string[i];
}
}
return result;
}
// 1. 모든 문자열을 순회
// 2. if문에 my_string[i] 값을 처음 위치와 동일한지 확인
// 3. 두 값이 일치할 때 result에 반환
참고 할 만한 다른 사람의 코드
function solution(my_string) {
return [...new Set(my_string)].join("");
}
// Set에 저장하면 중복을 방지한다