File tree Expand file tree Collapse file tree 3 files changed +63
-0
lines changed Expand file tree Collapse file tree 3 files changed +63
-0
lines changed Original file line number Diff line number Diff line change
1
+ /**
2
+ * @param {number[] } nums
3
+ * @return {boolean }
4
+ */
5
+ var containsDuplicate = function ( nums ) {
6
+ const map = new Map ( ) ;
7
+
8
+ for ( let num of nums ) {
9
+ map . set ( num , ( map . get ( num ) || 0 ) + 1 ) ;
10
+ }
11
+
12
+ for ( let [ _ , count ] of map ) {
13
+ if ( count > 1 ) return true ;
14
+ }
15
+
16
+ return false ;
17
+ } ;
18
+
19
+ // set 방식으로도 대체가능
20
+ // var containsDuplicate = function(nums) {
21
+ // return new Set(nums).size !== nums.length;
22
+ // };
Original file line number Diff line number Diff line change
1
+ /**
2
+ * @param {number[] } nums
3
+ * @param {number } k
4
+ * @return {number[] }
5
+ */
6
+ var topKFrequent = function ( nums , k ) {
7
+ const map = new Map ( ) ;
8
+ const result = [ ] ;
9
+
10
+ for ( let num of nums ) {
11
+ map . set ( num , ( map . get ( num ) || 0 ) + 1 ) ;
12
+ }
13
+
14
+ const sorted = [ ...map . entries ( ) ]
15
+ . sort ( ( a , b ) => b [ 1 ] - a [ 1 ] ) // 빈도 기준으로 정렬
16
+ . map ( ( entry ) => entry [ 0 ] ) ; // 숫자만 추출
17
+
18
+ for ( let i = 0 ; i < k ; i ++ ) {
19
+ result . push ( sorted [ i ] ) ;
20
+ }
21
+
22
+ return result ;
23
+ } ;
Original file line number Diff line number Diff line change
1
+ /**
2
+ * @param {number[] } nums
3
+ * @param {number } target
4
+ * @return {number[] }
5
+ */
6
+ var twoSum = function ( nums , target ) {
7
+ const map = new Map ( ) ;
8
+
9
+ for ( let i = 0 ; i < nums . length ; i ++ ) {
10
+ const complement = target - nums [ i ] ;
11
+
12
+ if ( map . has ( complement ) ) {
13
+ return [ map . get ( complement ) , i ] ;
14
+ }
15
+
16
+ map . set ( nums [ i ] , i ) ;
17
+ }
18
+ } ;
You can’t perform that action at this time.
0 commit comments