File tree Expand file tree Collapse file tree 2 files changed +49
-0
lines changed Expand file tree Collapse file tree 2 files changed +49
-0
lines changed Original file line number Diff line number Diff line change 1+ from typing import List
2+
3+
4+ class Solution :
5+ def rob (self , nums : List [int ]) -> int :
6+ """
7+ - Idea: iλ²μ§Έ μ§κΉμ§μ μ΅λ κΈμ‘μ λ κ°μ§ μ€ λ ν° κ°μΌλ‘ κ²°μ λλ€.
8+ 1. (i-2λ²μ§Έ μ§κΉμ§μ μ΅λ κΈμ‘) + iλ²μ§Έ μ§μ κΈμ‘
9+ 2. (i-1λ²μ§Έ μ§κΉμ§μ μ΅λ κΈμ‘)
10+ μ΄λ₯Ό μ΄μ©ν΄ λμ νλ‘κ·Έλλ°μΌλ‘ κ° μ§κΉμ§μ μ΅λ κΈμ‘μ κ³μ°νλ€.
11+ μ€κ° κ²°κ³Όλ₯Ό μ μ₯ν λ°°μ΄μ λ§λ€κ³ μμ°¨μ μΌλ‘ κ°μ μ±μ°λ©΄, 맨 λ§μ§λ§ κ°μ΄ μ 체 μ΅λ κΈμ‘μ΄ λλ€.
12+ - Time Complexity: O(n). nμ μ§μ κ°μ.
13+ λͺ¨λ μ§μ νλ²μ© μνν΄μΌ νλ―λ‘ O(n) μκ°μ΄ κ±Έλ¦°λ€.
14+ - Space Complexity: O(n). nμ μ§μ κ°μ.
15+ κ° μ§κΉμ§μ μ΅λ κΈμ‘μ μ μ₯νκΈ° μν΄ λ°°μ΄μ μ¬μ©νλ―λ‘ O(n) λ§νΌμ λ©λͺ¨λ¦¬κ° νμνλ€.
16+ """
17+ if len (nums ) == 1 :
18+ return nums [0 ]
19+
20+ dp = [0 ] * len (nums )
21+ dp [0 ] = nums [0 ]
22+ dp [1 ] = max (nums [0 ], nums [1 ])
23+
24+ for i in range (2 , len (nums )):
25+ dp [i ] = max (dp [i - 1 ], dp [i - 2 ] + nums [i ])
26+
27+ return dp [- 1 ]
Original file line number Diff line number Diff line change 1+ from typing import List
2+
3+
4+ class Solution :
5+ def canAttendMeetings (self , intervals : List [List [int ]]) -> bool :
6+ """
7+ - Idea: λͺ¨λ νμμ μ°Έμν μ μμΌλ €λ©΄, μμ μ€λ νμκ° λλλ μκ°μ΄
8+ λ€μ νμμ μμ μκ°μ λμ΄μλ μλλ€.
9+ μ΄λ₯Ό νμΈνκΈ° μν΄ μ£Όμ΄μ§ νμ μΌμ μ μμ μκ° κΈ°μ€μΌλ‘ μ λ ¬νκ³ ,
10+ μμ°¨μ μΌλ‘ λΉκ΅νμ¬ μμ 쑰건μ μλ°νλ νμκ° μλμ§ νμΈνλ€.
11+ - Time Complexity: O(nlogn). nμ νμμ μ.
12+ μ λ ¬μ O(nlogn)μ΄ μμλκ³ , μμ°¨ νμμ νλ λ°λ O(n)μ΄ νμνλ€.
13+ - Space Complexity: O(1).
14+ μΆκ° 곡κ°μ μ¬μ©νμ§ μλλ€.
15+ """
16+ intervals .sort ()
17+
18+ for i in range (len (intervals ) - 1 ):
19+ if intervals [i ][1 ] > intervals [i + 1 ][0 ]:
20+ return False
21+
22+ return True
You canβt perform that action at this time.
0 commit comments