Javascript/자바스크립트 문제
[Javascript : programmers] 한 번만 등장한 문자 (Lv.0)
isfp_yykkng
2024. 8. 21. 03:08
[Javascript : programmers] 한 번만 등장한 문자 (Lv.0)
문제
나의 정답 풀이
function solution(s) {
let set = [...new Set(s)].sort();
let nums = set.map(v=>[...s].filter(e=>e==v).length);
return set.filter((e,i)=>nums[i]==1).join('');
}
"한 번만 등장" 이란 말에 중복을 떠올렸고, Set 를 이용하여 풀었다.
Set로 중복을 없앤 정렬된 배열을 만들고, 이 배열을 순회하며 s에 원소가 몇개씩 들었는지 nums 배열에 저장한다.
다시 Set 배열에서 동일한 인덱스의 nums 원소가 1인 것만 추출하여 합치고 반환한다.
다른 사람 풀이
function solution(s) {
let res = [];
for (let c of s) if (s.indexOf(c) === s.lastIndexOf(c)) res.push(c);
return res.sort().join('');
}
s 문자열의 각 원소를 돌면서 원소의 앞에서부터의 인덱스와 뒤에서부터의 인덱스가 같은 것들을 합쳐 반환한다.