[프로그래머스-Level 0] [JavaScript] 한 번만 등장한 문자 - 객체(Object) 활용
2023. 1. 17. 22:20ㆍ알고리즘/프로그래머스 알고리즘 공부
반응형
[문제]
문자열 s가 주어집니다. 문자열 s는 'addeeffc' 이렇게 알파벳으로 구성되어 있는데, 여기에서 알파벳이 하나만 나오는 문자를 알파벳 순서로 정렬해서 출력하는 것이 문제입니다.
[알고리즘]
여러 가지 방법이 있지만 저는 객체와 변수를 활용했습니다. split('')를 활용하여 'abcd'를 'a', 'b', 'c', 'd' 형태로 분리할 수 있고 sort를 통해 알파벳 순서로 정렬할 수 있고 객체(object)의 키 값을 활용하였습니다.
[풀이]
아래 코드를 보시면 먼저 const str = {} 객체로 선언하고 arr 배열을 선언하여 문자열을 하나씩 분리해서 저장한 다음 정렬을 먼저 진행했습니다. 그 다음 forEach 함수를 돌려서 문자마다 몇 개가 나왔는지 카운트를 해줍니다. 그 다음 마지막 객체를 key별로 반복문을 돌려서 answer 변수 String에 더해주는 방식으로 풀이를 진행했습니다.
function solution(s) {
var answer = '';
const str = {};
const arr = s.split('').sort();
arr.forEach(elem => {
if (str[elem] === undefined) str[elem] = 1;
else str[elem]++;
});
for(const key in str) {
if (str[key] === 1) {
answer += key;
}
}
return answer;
}
반응형
'알고리즘 > 프로그래머스 알고리즘 공부' 카테고리의 다른 글
[프로그래머스-Level 1] [JavaScript] 숫자 문자열과 영단어 - 객체 사용 (0) | 2022.12.05 |
---|---|
[프로그래머스-Level 1] [JavaScript] 신고 결과 받기 - 해시 사용 (0) | 2022.12.05 |
[프로그래머스-Level 1] [JavaScript] 행렬의 덧셈 - 배열 (0) | 2022.12.02 |
[프로그래머스-Level 1] [JavaScript] 완주하지 못한 선수 - Hash 사용 (0) | 2022.12.01 |
[프로그래머스-Level 1] [JavaScript] 명예의 전당(1) - 배열, 정렬, splice 활용 (0) | 2022.11.30 |