-
728x90
문제 설명
제한사항
- 1 ≤ my_string ≤ 110
- my_string은 대문자, 소문자, 공백으로 구성되어 있습니다.
- 대문자와 소문자를 구분합니다.
- 공백(" ")도 하나의 문자로 구분합니다.
- 중복된 문자 중 가장 앞에 있는 문자를 남깁니다.
입출력 예
my_string result "people" "peol" "We are the world" "We arthwold" 내 풀이
function solution(my_string) { let result = ''; for (let i = 0; i < my_string.length; i++) { if(i === my_string.indexOf(my_string[i])) { result+=my_string[i]; } } return result; }
indexOf 메서드로 찾을 문자를 검색하고 (없으면 -1 출력) 인덱스를 반환할 때 i와 같은지 확인하는 코드
indexOf는 찾을 문자가 중복되더라도 앞에서부터 처음으로 발견한 인덱스만 반환하기 때문에 중복문자는 제거할 수 있다.
다른 사람 풀이
function solution(my_string) { return [...new Set(my_string)].join(''); }
코드가 엄청 간단한데 사실 Set 처음 본다 😂
set객체는 중복되지 않은 유일한 값들의 집합으로 동일한 값을 중복하여 포함할 수 없다(!)
set 객체는 생성자 함수로 생성하여 인수를 전달한다. (전달하지 않으면 빈 Set객체 생성)
const 변수 = new Set()
오 👍🏻👍🏻👍🏻 앞으로 유용하게 잘 사용할 것 같다
'코딩테스트, 알고리즘' 카테고리의 다른 글
[프로그래머스] 이진 변환 반복하기 (JS) (0) 2023.08.26 [프로그래머스] 이상한 문자 만들기 (JS) (0) 2023.08.23 [프로그래머스] 문자열 내 마음대로 정렬하기 (JS) (0) 2023.08.19 [프로그래머스] 삼총사 (JS) (0) 2023.08.18 [프로그래머스] 크기가 작은 부분문자열 (JS) (0) 2023.05.07 댓글