문제
https://school.programmers.co.kr/learn/courses/30/lessons/120896
풀이
문자열을 배열로 풀어낸 다음 정렬해준다. ex) aabbbbc
앞이나 뒤의 값이 해당문자와 일치하면 넘겨주고 다르다면 새 배열에 추가해준다.
function solution(s) {
const arr = [...s].sort();
const answer = [];
arr.forEach((v, i) => {
if (v === arr[i + 1] || v === arr[i - 1]) return;
answer.push(v);
});
return answer.join("");
}
다른풀이
해당 문자의 인덱스를 앞에서부터 찾은 값과 뒤에서부터 찾은 값을 비교해본다.
문자가 두개일 경우 인덱스가 다르지만, 하나일 경우 두 인덱스 값이 일치한다.
function solution(s) {
let res = [];
for (let c of s) if (s.indexOf(c) === s.lastIndexOf(c)) res.push(c);
return res.sort().join("");
}
'개발 > 알고리즘(코딩테스트)' 카테고리의 다른 글
프로그래머스, 자바스크립트) 2의 영역 (0) | 2024.01.16 |
---|---|
프로그래머스, 자바스크립트) 문자열 묶기 (0) | 2024.01.15 |
프로그래머스, 자바스크립트) 간단한 논리 연산 (0) | 2024.01.15 |
프로그래머스, 자바스크립트) 피자 나눠 먹기 (2) (0) | 2024.01.14 |
프로그래머스, 자바스크립트) 합성수 찾기 (1) | 2024.01.14 |