문제 링크
https://school.programmers.co.kr/learn/courses/30/lessons/120888
답안1 (object 순회)
function solution(my_string) {
let obj = {}
let result = ""
for (const char of my_string) {
if (obj[char]) {
continue
} else {
result += char
obj[char] = 1
}
}
return result
}
- obj 자료형과 result를 선언한다.
- 파라미터로 받은 문자열을 for문으로 순회하며,
obj에 해당 문자열이 truthy하면 다음 순회로 넘어가고
obj에 해당 문자열이 falsey하면 result에 해당 문자열을 추가하고, obj에 해당 문자열의 숫자를 1로 해서 추가한다.
답안2 (Set 자료형 활용)
function solution(my_string) {
return [...new Set(my_string)].join('')
}
- 이터러블을 Set 자료형으로 만들 수 있다. 문자열은 이터러블이므로 Set으로 만들 수 있다.
- Set은 이터러블이며, 순서가 존재하고, 구조분해할당이 가능하다.
- 따라서 Array 자료형안에 구조분해할당이 가능하다.
- 구조분해를 한 후 Join('') 메서드를 이용하여 문자열로 만들어준다.
'코테 문제 풀이' 카테고리의 다른 글
[레벨 0] 팩토리얼 (헬퍼함수, while) (0) | 2023.01.10 |
---|---|
[레벨 0] A로 B 만들기 (배열 정렬 후 join으로 문자열화) (0) | 2023.01.10 |
[레벨 0] 중복된 문자 제거 (for문, Set) (0) | 2022.12.18 |
[레벨 0] 369 게임 (메서드체이닝, 정규표현식) (0) | 2022.12.17 |
[레벨 0] 외계행성의 나이 (문자열 - 배열 - 문자열) (0) | 2022.12.17 |