문제 설명
문자열 s가 매개변수로 주어집니다. s에서 한 번만 등장하는 문자를 사전 순으로 정렬한 문자열을 return 하도록 solution 함수를 완성해보세요. 한 번만 등장하는 문자가 없을 경우 빈 문자열을 return 합니다.
제한사항
- 0 < s의 길이 < 1,000
- s는 소문자로만 이루어져 있습니다.
입출력 예
"abcabcadc" | "d" |
"abdc" | "abcd" |
"hello" | "eho" |
입출력 예 설명
입출력 예 #1
- "abcabcadc"에서 하나만 등장하는 문자는 "d"입니다.
입출력 예 #2
- "abdc"에서 모든 문자가 한 번씩 등장하므로 사전 순으로 정렬한 "abcd"를 return 합니다.
입출력 예 #3
- "hello"에서 한 번씩 등장한 문자는 "heo"이고 이를 사전 순으로 정렬한 "eho"를 return 합니다.
문제풀이
function solution(s) {
var answer = "";
let result = {};
// 1. 문자열을 하나씩 잘라서 배열로 만든다.
const arr = s.split("");
// 2. 각 key(단어)마다 몇 개인 지 계산한다.
for (let i = 0; i < arr.length; i++) {
// - result에 해당 key 값이 있다면 value를 1씩 증가시킨다.
if (Object.keys(result).includes(arr[i])) {
result[arr[i]]++;
}
// - result에 해당 key 값이 없다면 key와 value = 1을 추가한다.
else {
result[arr[i]] = 1;
}
}
// 3. 각 key(단어) 중 value(개수)가 1인 단어만 반환한다.
answer = Object.keys(result)
.filter((item, i) => {
if (result[item] === 1) {
return item;
}
})
// 정렬
.sort()
// 배열을 문자열로 변환
.join("");
return answer;
}
console.log(solution("abcabcadc"));
console.log(solution("abdc"));
console.log(solution("hello"));
'코딩 테스트 연습 > Programmers' 카테고리의 다른 글
[프로그래머스] 문자열 계산하기 (0) | 2023.07.14 |
---|---|
[프로그래머스] 배열의 유사도 (0) | 2023.07.13 |
[프로그래머스] 문자열 안에 문자 (0) | 2023.07.11 |
[프로그래머스] 편지 (0) | 2023.07.11 |
[프로그래머스] 옹알이 (1) (0) | 2023.07.10 |
댓글