프로그래머스 PCCP 외톨이알파벳
2023. 12. 8. 10:47ㆍ기타
https://school.programmers.co.kr/learn/courses/15008/lessons/121683?language=javascript
문제설명
수도코드
로직구성
1.알파벳 배열을 순회한다.
2.순회하면서, 알파벳이 바뀐걸 체크해야한다
3.알파벳이 바뀔떄마다 배열에 넣어주고, 해당배열에 indexOf(el) 했을 떄, -1이 안나온다면 같은 알파벳이 서로 뭉쳐있지 않은 외톨이.
4.외톨이 알파벳을 answer배열에 넣어준다.
5.순회가 끝나면, answer 배열을 알파벳순으로 정렬 후 중복을 제거해주고 출력한다.
5-1. 만일 외톨이가 없다면 N을 출력한다.
풀이코드
function solution(s) {
s = [...s];
let result = [];
let answer = [];
s.forEach((el, idx) => {
if (result.indexOf(el) !== -1) {
answer.push(el);
}
if (idx > 0 && s[idx - 1] !== el) {
//알파벳이바뀜
result.push(s[idx - 1]);
}
});
return answer.length ? [...new Set(answer.sort())].join("") : "N";
}
console.log(solution("eeddee"));
시행착오
이 문제는 시행착오없이 한번에 로직이 떠올라서 쉽게 해결했다.
문제해결의 핵심은 알파벳이 바뀌는걸 체크하고, 바뀌는 알파벳 중 이전에 나온적이 있는 알파벳인지 판별하는게 중요했다.
'기타' 카테고리의 다른 글
프로그래머스 PCCP 붕대감기 (1) | 2023.12.07 |
---|---|
[react-dropzone]비디오 믹싱페이지에 드래그 앤 드랍 적용해보기. (0) | 2023.05.24 |
Recoil로 상태관리 시작하기 (0) | 2023.05.09 |
Git branch 다루기 (0) | 2023.04.12 |
프로젝트 시작 전 Git hub 학습 (0) | 2023.04.12 |