문자열 my_string이 매개변수로 주어집니다. my_string에서 중복된 문자를 제거하고 하나의 문자만 남긴 문자열을 return하도록 solution 함수를 완성해주세요.
🚫제한 사항
1 ≤ my_string ≤ 110
my_string은 대문자, 소문자, 공백으로 구성되어 있습니다.
대문자와 소문자를 구분합니다.
공백(" ")도 하나의 문자로 구분합니다.
중복된 문자 중 가장 앞에 있는 문자를 남깁니다.
❗입출력 예
my_string | result |
"people" | "peol" |
"We are the world" | "We arthwold" |
😀 내가 푼 답
const solution = (my_string) => {
return [...new Set(my_string)].join("")
}
- Set
- 중복되지 않는 값들을 저장할때 사용함
- 배열과 유사하게 여러 값을 순차적으로 저장할 수 있지만, 'Set'내의 각 값은 유일해야 하며, 같은 값을 두 번 추가하려고 하면 두 번째 추가는 무시됨
- 주요 특징
- 동일한 값을 여러 번 추가하려고 해도 'Set'은 그 값을 한번만 저장함
- 'Set'에 추가된 값들은 삽입된 순서를 유지함
-> 이터레이션 시 값들은 추가된 순서되로 처리됨
*이터레이션(iteration)
- 반복적인 작업이나 프로세스를 의미함
- 프로그래밍에서는 일밙거으로 데이터 구조(ex. 배열, 리스트, 집합등)를 순회하거나, 특정 조건을 만족할 때까지 반복적으로 작업을 수행하는 것을 가리킴
- 이터레이션을 수행할 때는 보통 반복문이나 반복자(iterator, ex. Set, Map같은 경우 .next() 메스드를 포함하는 반복자를 제공함)와 같은 도구를 사용함 - 'Set'은 모든 타입의 값을 저장할 수 있으며, 객체와 기본형 값 모두 유니크하게 저장할 수 있음
- 주요 메서드 및 프로퍼티
- .add()
- 'Set'에 값을 추가하지만 'Set'내에 같은 값이 있다면 효과가 없음
- .delete()
- 주어진 값을 'Set'에서 제거하고 성공적으로 제거되면 true를, 그렇지 않으면 false를 반환
- .has()
- 'Set'이 주어진 값을 포함하고 있는지 여부를 반환하고 값이 있으면 true, 없으면 fasle
- .clear()
- 'Set'에서 모든 값을 제거함
- .size()
- 'Set'에 포함된 값의 개수를 반환함
- .add()
😊 문제풀이 답안 OR 다른사람들 답안
function solution(my_string) {
const freq = {};
let result = "";
for (const ch of my_string) {
if (freq[ch] !== undefined) continue;
freq[ch] = true;
result += ch;
}
return result;
}
'공부 > 코딩테스트' 카테고리의 다른 글
Q. 배열의 길이를 2의 거듭제곱으로 만들기 (0) | 2024.10.14 |
---|---|
Q. 이차원으로 만들기 (0) | 2024.04.01 |
Q. 최대값 만들기(2) (0) | 2024.02.26 |
Q. 주사위의 개수 (0) | 2024.02.26 |
Q. 가장 큰 수 찾기 (1) | 2024.02.26 |