File tree 2 files changed +49
-0
lines changed
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