주어진 문자열에서 중복되는 문자를 제거한 문자열을 리턴하는 문제였다.
자바스크립트에서 중복 제거! 하면 Set을 떠올리면 된다. (무슨 수능 강의 같다...)
그리고 indexOf와 와 반복문에서 사용할 수 있는 index를 비교하는 방법도 있고 object에 문자의 출현 갯수를 저장해서 사용하는 방법도 있다.
그러니까 코드로 보자면 아래처럼 세 가지 방법이 있겠다.
1. Set
2. indexOf와 index 비교해서 filter로 털어내기
3. frequency map 출현빈도
이렇게 알고리즘 문제라고 하는 것들을 풀다 보면 옛날에 수능 문제 푸는것 같은 느낌이 들 때가 많다
일단 해야해서, 안 하는것보단 나으니까 풀긴 푸는데 이걸 어디에 써먹을까 하는 느낌.
개발자는 비즈니스 문제를 풀어내는 사람들이다. 라고 생각한다. 표면적으로만 보면 이런 알고리즘 문제 풀고 하는게 뭐가 도움이 되냐 싶을 수도 있다.
그 문제를 풀어내는 방법은 무언가를 만들어는 것일 수도 있고 아예 개발이 없을 수도 있는데 개발자인 이상 최소 절반은 무언가를 개발해야, 코드를 한 줄이라서 써야 해결되는 경우일 것이라고 생각한다. 그래서 이렇게 별 것 아닌것 같은 문제들도 10분이라도 고민해보고 직접 손을 움직인 시간들이 모여서 '문제'를 해결할 코드를 작성할 때, '문제'를 어떻게 해결할 지 로직을 생각해낼 때 분명 도움이 될 것이라고 생각한다. 그래서 나는 가능하면 매일 (어제 엊그제는 못했지만) 푸는 습관을 들이려고 한다.
반응형
'알고리즘 문제 풀이' 카테고리의 다른 글
[TIL] Javascript 알고리즘 100일 챌린지 21번째 도전 (0) | 2023.05.23 |
---|---|
[TIL] Javascript 알고리즘 100일 챌린지 20번째 도전 (0) | 2023.05.21 |
[TIL] JavaScript 알고리즘 100일 챌린지 18번째 도전 (0) | 2023.05.17 |
[TIL] JavaScript 알고리즘 100일 챌린지 17번째 도전 (0) | 2023.05.16 |
[TIL] JavaScript 알고리즘 100일 챌린지 16번째 도전 (0) | 2023.05.15 |