문자열 my_string이 매개변수로 주어집니다.
my_string에서 중복된 문자를 제거하고 하나의 문자만 남긴 문자열을 return하도록 solution 함수를 완성해주세요.
이 문제 같은 경우는 set으로 풀수 있습니다.
Set 객체는 자료형에 관계 없이 원시 값과 객체 참조 모두 유일한 값을 저장할 수 있습니다.
순서대로 순회합니다.
한 번만 나타납니다. ( 값이 중복되어도 앞에 값 하나만 나온다는 뜻)
let mySet = new Set();
mySet.add(1) // Set {1}
mySet.add(5) // Set {1,5}
위와 같이 add를 쓸 수 있는 것은 set에 내장되어있는 프로토타입때문입니다.
set을 보면 protoType이 있는데 set이 가지고 있는 인스턴스 메서드입니다.
문서를 읽을때마다 인스턴스, 프로토타입이 많이 나오는데 대략 무엇일것 같다라고 생각했기 때문에 다음에는 이에 대해서 공부하고 정리해보고자 합니다.
제가 생각했을 때 인스턴스는 객체와 비슷하지만 뭔가 확장된 느낌이고 프로토타입은 메서드들의 집합?같은 느낌입니당. 이 개념들을 정리해서 블로그를 써봐야겠습니당
const solution = my_string => {
return new Set(my_string).join('')
}
맨 처음에 위와 같이 풀었었는데 중괄호 안에 아무 값도 들어가지 않아서 전개연산자로 펼쳐주었더니 되었습니다.
const solution = my_string => {
return [...new Set(my_string)].join('')
//문자들을 붙여줘야하기 때문에 join으로 마무리
}
왜 처음에는 빈 값이 나왔나 고민을 해봤을 때
set에 대해서 원래 알고 있었지만 완벽히 알려고 공부를 하다보니 알 것같으면서도 뭔가 확실하게 와닿는 느낌이 들지가 않아서 아직 공부가 더 부족하다는 것을 느끼고 좀 더 열심히 해야겠다는 생각이 들었습니다.