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