File tree Expand file tree Collapse file tree
longest-consecutive-sequence Expand file tree Collapse file tree Original file line number Diff line number Diff line change 1+ /**
2+ * ๋ฌธ์ : https://leetcode.com/problems/contains-duplicate/
3+ *
4+ * ์๊ตฌ์ฌํญ:
5+ * nums: number[]๋ฅผ Input ์ผ๋ก ๋ฐ์์ ๋
6+ * ์ค๋ณต๋ ๊ฐ์ด ์์ ๊ฒฝ์ฐ true ์๋ค๋ฉด false ๋ฅผ ๋ฐํ
7+ *
8+ * ํด์๋งต ์ด์ฉ
9+ * */
10+
11+ const containsDuplicate = ( nums ) => {
12+ const set = new Set ( ) ;
13+
14+ for ( const num of nums ) {
15+ if ( set . has ( num ) ) {
16+ return true ;
17+ }
18+ set . add ( num ) ;
19+ }
20+ return false ;
21+
22+ }
Original file line number Diff line number Diff line change 1+ /**
2+ * ๋ฌธ์ : https://leetcode.com/problems/house-robber/description/
3+ *
4+ * ์๊ตฌ์ฌํญ:
5+ * nums: number[]๋ฅผ Input ์ผ๋ก ๋ฐ์์ ๋
6+ * ์ธ์ ํ์ง ์์ ๋ฐ์ดํฐ๋ค์ ํฉ ์ค ๊ฐ์ฅ ํฐ ๊ฐ์ ๋ฆฌํดํ๋ค.
7+ *
8+ * * */
9+
10+ const houseRobber = ( nums ) => {
11+ let prev1 = 0 ;
12+ let prev2 = 0 ;
13+ for ( let i = 0 ; i < nums . length ; i ++ ) {
14+ let current = Math . max ( nums [ i ] + prev2 , prev1 ) ;
15+ prev2 = prev1 ;
16+ prev1 = current ;
17+ }
18+ return prev1 ;
19+ }
Original file line number Diff line number Diff line change 1+ /**
2+ * ๋ฌธ์ : https://leetcode.com/problems/longest-consecutive-sequence/description/
3+ *
4+ * ์๊ตฌ์ฌํญ:
5+ * ์ ๋ ฌ๋์ง ์์ nums: number[]๋ฅผ Input ์ผ๋ก ๋ฐ์์ ๋
6+ * ๊ฐ์ฅ ๊ธด ์ฐ์์ผ๋ก ๋ ๊ฐ์ length ๋ฅผ ๋ฐํํ๋ค.
7+ * ๋จ O(n) ์ด์ด์ผํ๋ค.
8+ *
9+ * * */
10+
11+ const longestConsecutive = ( nums ) => {
12+ const set = new Set ( nums ) ;
13+ let count = 0 ;
14+
15+ for ( let num of set ) {
16+ if ( ! set . has ( num - 1 ) ) {
17+ let len = 1 ;
18+
19+ while ( set . has ( num + len ) ) {
20+ len ++ ;
21+ }
22+
23+ count = Math . max ( count , len ) ;
24+ }
25+ }
26+ return count ;
27+ }
Original file line number Diff line number Diff line change 1+ /**
2+ * ๋ฌธ์ : https://leetcode.com/problems/top-k-frequent-elements/description/
3+ *
4+ * ์๊ตฌ์ฌํญ:
5+ * nums: number[], k: number ๋ฅผ Input ์ผ๋ก ๋ฐ์์ ๋
6+ * ๊ฐ์ฅ ๋น๋๊ฐ ๋์ ๊ฐ k๊ฐ์ ๊ฐ์ number[]๋ก ๋ฆฌํดํ๋ค.
7+ *
8+ * * */
9+
10+ const topKFrequent = ( nums , k ) => {
11+ const map = new Map ( ) ;
12+
13+ for ( let i = 0 ; i < nums . length ; i ++ ) {
14+ const count = map . get ( nums [ i ] ) || 0 ;
15+ map . set ( nums [ i ] , count + 1 ) ;
16+ }
17+
18+ const entries = [ ...map . entries ( ) ] ;
19+ entries . sort ( ( a , b ) => b [ 1 ] - a [ 1 ] ) ;
20+
21+ return entries . slice ( 0 , k ) . map ( ( entry ) => entry [ 0 ] ) ;
22+ }
Original file line number Diff line number Diff line change 1+ /**
2+ * ๋ฌธ์ : https://leetcode.com/problems/two-sum/
3+ *
4+ * ์๊ตฌ์ฌํญ:
5+ * nums: number[], target: number ๋ฅผ Input ์ผ๋ก ๋ฐ์์ ๋
6+ * nums์ ์๋ ๊ฐ ๋๊ฐ๋ฅผ ๋ํ์ ๋ target ๊ณผ ์ ํํ๊ฒ ์ผ์นํ๊ฒ ๋๋ ๊ฐ์ ๋ง๋ค๊ฒ ๋๋ ์ธ๋ฑ์ค ๋ฐฐ์ด์ ๋ฆฌํดํ๋ค.
7+ *
8+ * ํด์๋งต ์ด์ฉ
9+ * */
10+
11+ const twoSum = ( nums , target ) => {
12+ const map = new Map ( ) ;
13+
14+ for ( let i = 0 ; i < nums . length ; i ++ ) {
15+ const result = target - nums [ i ] ;
16+
17+ // ์ด๋ฏธ ๊ฐ์ด ์์๋ค๋ฉด ๋ฆฌํด
18+ if ( map . has ( result ) ) {
19+ return [ map . get ( result ) , i ] ;
20+ }
21+
22+ // ํ์ฌ ๊ฐ์ ์ ์ฅ
23+ map . set ( nums [ i ] , i ) ;
24+ }
25+ }
You canโt perform that action at this time.
0 commit comments