728x90
문제
문자열 my_string이 매개변수로 주어집니다. my_string에서 중복된 문자를 제거하고 하나의 문자만 남긴 문자열을 return하도록 solution 함수를 완성해주세요.
해결 과정
function solution(my_string) {
// (중복된 문자열을 제거한 것을) 결과로 저장할 변수
let result = '';
// my_string 순회하는 루프
for (let i = 0; i < my_string.length; i++) {
// 문자열에 있는 문자를 하나씩 꺼낸것을 저장하는 변수
let char = my_string[i];
// 중복 여부를 위한 변수를 만들음. 기본적으로는 중복된 변수를 갖고 있지 않다로 만듦
let duplication = false;
// 결과에 중복된 문자를 저장되었는지 확인하는 루프
for (let j = 0; j < result.length; j++) {
// 결과에 있는 문자가 char과 같다면
if (result[j] == char) {
// 중복은 허용으로 바뀌고 순회를 끝낸다.
duplication = true;
break;
}
}
// 중복된 문자가 없다면 결과에 문자열 저장
if (!duplication) {
result += char;
}
}
return result;
}
🤔 너무 복잡하게 생각하지 말자!
새롭게 알게된 점
function solution(my_string) {
return [...new Set(my_string)].join('');
}
..., new, Set, join의 개념은 봐도봐도 헷갈린다.
... 개념정리
new 개념정리
Set 개념정리
join 개념정리
728x90
'⌨️ 프로그래머스 > 코딩테스트 입문' 카테고리의 다른 글
[프로그래머스] 가까운 수 | JS (4) | 2024.08.15 |
---|---|
[프로그래머스] 삼각형의 완성조건 (1) | JS (0) | 2024.08.13 |
[프로그래머스] 컨트롤 제트 🎛️ | JS (0) | 2024.08.07 |
[프로그래머스] 숨어있는 숫자의 덧셈(1) | JS (0) | 2024.07.22 |
[프로그래머스] 문자열 정렬하기(1) | JS (0) | 2024.07.22 |