File tree 2 files changed +44
-1
lines changed
2 files changed +44
-1
lines changed Original file line number Diff line number Diff line change
1
+ // Solution 1
2
+ function makeTrie ( words ) {
3
+ const root = { } ;
4
+
5
+ for ( const word of words ) {
6
+ let current = root ;
7
+
8
+ for ( const letter of word ) {
9
+ if ( ! current [ letter ] ) {
10
+ current [ letter ] = [ 0 , { } ] ;
11
+ }
12
+
13
+ current [ letter ] [ 0 ] = 1 + ( current [ letter ] [ 0 ] || 0 ) ;
14
+ current = current [ letter ] [ 1 ] ;
15
+ }
16
+ }
17
+
18
+ return root ;
19
+ }
20
+
21
+ function solution1 ( words ) {
22
+ let totalCount = 0 ;
23
+ const trie = makeTrie ( words ) ;
24
+
25
+ for ( const word of words ) {
26
+ let count = 0 ;
27
+ let current = trie ;
28
+
29
+ for ( const [ index , letter ] of [ ...word ] . entries ( ) ) {
30
+ count += 1 ;
31
+
32
+ if ( current [ letter ] [ 0 ] <= 1 ) {
33
+ break ;
34
+ }
35
+
36
+ current = current [ letter ] [ 1 ] ;
37
+ }
38
+
39
+ totalCount += count ;
40
+ }
41
+
42
+ return totalCount ;
43
+ }
Original file line number Diff line number Diff line change 61
61
| 2주차<br />(12.06. ~ 12.12.) | `Level 1`<br />`Level 1`<br />`Level 1`<br />`Level 1`<br />`Level 1`<br />`Level 1`<br />`Level 1` | [로또의 최고 순위와 최저 순위](https://programmers.co.kr/learn/courses/30/lessons/77484)<br />[소수 만들기](https://programmers.co.kr/learn/courses/30/lessons/12977)<br />[비밀지도](https://programmers.co.kr/learn/courses/30/lessons/17681)<br />[2016년](https://programmers.co.kr/learn/courses/30/lessons/12901)<br />[3진법 뒤집기](https://programmers.co.kr/learn/courses/30/lessons/68935)<br />[예산](https://programmers.co.kr/learn/courses/30/lessons/12982)<br />[최소직사각형](https://programmers.co.kr/learn/courses/30/lessons/86491) | [JS](https://github.com/JeongHwan-dev/programmers-solving-with-js/blob/master/Level1/로또의최고순위와최저순위.js) (2차 풀이)<br />[JS](https://github.com/JeongHwan-dev/programmers-solving-with-js/blob/master/Level1/소수만들기.js) (2차 풀이)<br />[JS](https://github.com/JeongHwan-dev/programmers-solving-with-js/blob/master/Level1/비밀지도.js) (2차 풀이)<br />[JS](https://github.com/JeongHwan-dev/programmers-solving-with-js/blob/master/Level1/2016년.js) (2차 풀이)<br />[JS](https://github.com/JeongHwan-dev/programmers-solving-with-js/blob/master/Level1/3진법뒤집기.js) (2차 풀이)<br />[JS](https://github.com/JeongHwan-dev/programmers-solving-with-js/blob/master/Level1/예산.js) (2차 풀이)<br />[JS](https://github.com/JeongHwan-dev/programmers-solving-with-js/blob/master/Level1/최소직사각형.js) (2차 풀이) |
62
62
| 3주차<br />(12.13. ~ 12.19.) | `Level 1`<br />`Level 1`<br />`Level 1`<br />`Level 1`<br />`Level 2`<br />`Level 2`<br />`Level 2` | [나머지가 1이 되는 수 찾기](https://programmers.co.kr/learn/courses/30/lessons/87389)<br />[폰켓몬](https://programmers.co.kr/learn/courses/30/lessons/1845)<br />[다트 게임](https://programmers.co.kr/learn/courses/30/lessons/17682)<br />[신규 아이디 추천](https://programmers.co.kr/learn/courses/30/lessons/72410)<br />[가장 큰 수](https://programmers.co.kr/learn/courses/30/lessons/42746)<br />[H-Index](https://programmers.co.kr/learn/courses/30/lessons/42747)<br />[피보나치 수](https://programmers.co.kr/learn/courses/30/lessons/12945) | [JS](https://github.com/JeongHwan-dev/programmers-solving-with-js/blob/master/Level1/나머지가1이되는수찾기.js) (2차 풀이)<br />[JS](https://github.com/JeongHwan-dev/programmers-solving-with-js/blob/master/Level1/폰켓몬.js) (2차 풀이)<br />[JS](https://github.com/JeongHwan-dev/programmers-solving-with-js/blob/master/Level1/다트게임.js) (2차 풀이)<br />[JS](https://github.com/JeongHwan-dev/programmers-solving-with-js/blob/master/Level1/신규아이디추천.js) (2차 풀이)<br />[JS](https://github.com/JeongHwan-dev/programmers-solving-with-js/blob/master/Level2/가장큰수.js) (2차 풀이)<br />[JS](https://github.com/JeongHwan-dev/programmers-solving-with-js/blob/master/Level2/H-Index.js) (2차 풀이)<br />[JS](https://github.com/JeongHwan-dev/programmers-solving-with-js/blob/master/Level2/피보나치수.js) (2차 풀이) |
63
63
| 4주차<br />(12.20. ~ 12.26.) | `Level 2`<br />`Level 2`<br />`Level 2`<br />`Level 2`<br />`Level 2`<br />`Level 3`<br />`Level 3` | [타겟 넘버](https://programmers.co.kr/learn/courses/30/lessons/43165)<br />[괄호 회전하기](https://programmers.co.kr/learn/courses/30/lessons/76502)<br />[숫자의 표현](https://programmers.co.kr/learn/courses/30/lessons/12924)<br />[올바른 괄호](https://programmers.co.kr/learn/courses/30/lessons/12909)<br />[프린터](https://programmers.co.kr/learn/courses/30/lessons/42587)<br />[베스트앨범](https://programmers.co.kr/learn/courses/30/lessons/42579)<br />[가장 먼 노드](https://programmers.co.kr/learn/courses/30/lessons/49189) | [JS](https://github.com/JeongHwan-dev/programmers-solving-with-js/blob/master/Level2/타겟넘버.js) (2차 풀이)<br />[JS](https://github.com/JeongHwan-dev/programmers-solving-with-js/blob/master/Level2/괄호회전하기.js) (2차 풀이)<br />[JS](https://github.com/JeongHwan-dev/programmers-solving-with-js/blob/master/Level2/숫자의표현.js) (2차 풀이)<br />[JS](https://github.com/JeongHwan-dev/programmers-solving-with-js/blob/master/Level2/올바른괄호.js) (2차 풀이)<br />[JS](https://github.com/JeongHwan-dev/programmers-solving-with-js/blob/master/Level2/프린터.js) (2차 풀이)<br />[JS](https://github.com/JeongHwan-dev/programmers-solving-with-js/blob/master/Level3/베스트앨범.js) (2차 풀이)<br />[JS](https://github.com/JeongHwan-dev/programmers-solving-with-js/blob/master/Level3/가장먼노드.js) |
64
- | 5주차<br />(12.27. ~ 12.31.) | `Level 3`<br />`Level 3`<br />`Level 2`<br />`Level 1` | [입국심사](https://programmers.co.kr/learn/courses/30/lessons/43238)<br />[가장 먼 노드](https://programmers.co.kr/learn/courses/30/lessons/49189)<br />[큰 수 만들기](https://programmers.co.kr/learn/courses/30/lessons/42883)<br />[소수 찾기](https://programmers.co.kr/learn/courses/30/lessons/12921) | [JS](https://github.com/JeongHwan-dev/programmers-solving-with-js/blob/master/Level3/입국심사.js) (2차 풀이)<br />[JS](https://github.com/JeongHwan-dev/programmers-solving-with-js/blob/master/Level3/가장먼노드.js) (2차 풀이)<br />[JS](https://github.com/JeongHwan-dev/programmers-solving-with-js/blob/master/Level2/큰수만들기.js) (2차 풀이)<br />[JS](https://github.com/JeongHwan-dev/programmers-solving-with-js/blob/master/Level1/소수찾기.js) (3차 풀이) |
64
+ | 5주차<br />(12.27. ~ 12.31.) | `Level 3`<br />`Level 3`<br />`Level 2`<br />`Level 1`<br />`Level 4` | [입국심사](https://programmers.co.kr/learn/courses/30/lessons/43238)<br />[가장 먼 노드](https://programmers.co.kr/learn/courses/30/lessons/49189)<br />[큰 수 만들기](https://programmers.co.kr/learn/courses/30/lessons/42883)<br />[소수 찾기](https://programmers.co.kr/learn/courses/30/lessons/12921)<br />[자동완성](https://programmers.co.kr/learn/courses/30/lessons/17685) | [JS](https://github.com/JeongHwan-dev/programmers-solving-with-js/blob/master/Level3/입국심사.js) (2차 풀이)<br />[JS](https://github.com/JeongHwan-dev/programmers-solving-with-js/blob/master/Level3/가장먼노드.js) (2차 풀이)<br />[JS](https://github.com/JeongHwan-dev/programmers-solving-with-js/blob/master/Level2/큰수만들기.js) (2차 풀이)<br />[JS](https://github.com/JeongHwan-dev/programmers-solving-with-js/blob/master/Level1/소수찾기.js) (3차 풀이)<br />[JS](https://github.com/JeongHwan-dev/programmers-solving-with-js/blob/master/Level4/자동완성.js) |
You can’t perform that action at this time.
0 commit comments