diff --git "a/leetcode3/\354\265\234\354\233\220\354\244\200/1094. Car Pooling.py" "b/leetcode3/\354\265\234\354\233\220\354\244\200/1094. Car Pooling.py" new file mode 100644 index 00000000..0016e6f6 --- /dev/null +++ "b/leetcode3/\354\265\234\354\233\220\354\244\200/1094. Car Pooling.py" @@ -0,0 +1,33 @@ +# + +''' +1. 아이디어 : +미리 trip마다 탑승, 내리는 인원들을 구합니다. + +2. 시간복잡도 : + O(n+n) + +3. 자료구조/알고리즘 : +- + +''' +class Solution: + def carPooling(self, trips: list[list[int]], capacity: int) -> bool: + n = len(trips) + boarding = [0] * 1001 + curr = 0 + + for passengers, start, end in trips: + boarding[start] += passengers + boarding[end] -= passengers + + for i in range(1000): + curr += boarding[i] + if curr > capacity: + return False + + return True + + + + diff --git a/leetcode3/4056. Number of Intersecting Interval Pairs I.py "b/leetcode3/\354\265\234\354\233\220\354\244\200/4056. Number of Intersecting Interval Pairs I.py" similarity index 100% rename from leetcode3/4056. Number of Intersecting Interval Pairs I.py rename to "leetcode3/\354\265\234\354\233\220\354\244\200/4056. Number of Intersecting Interval Pairs I.py" diff --git "a/leetcode3/\354\265\234\354\233\220\354\244\200/4061. Minimum Queen Moves to Reach Target.py" "b/leetcode3/\354\265\234\354\233\220\354\244\200/4061. Minimum Queen Moves to Reach Target.py" new file mode 100644 index 00000000..cd0dfade --- /dev/null +++ "b/leetcode3/\354\265\234\354\233\220\354\244\200/4061. Minimum Queen Moves to Reach Target.py" @@ -0,0 +1,28 @@ +# + +''' +1. 아이디어 : +최대 2번 움직입니다 +0번: 같은 점 +1번: 같은 가로/세로/대각 +2번: 위 제외 나머지 + +2. 시간복잡도 : + O(1) + +3. 자료구조/알고리즘 : +- + +''' +class Solution: + def minQueenMoves(self, source: list[int], target: list[int]) -> int: + s1, s2 = source + e1, e2 = target + + if s1 == e1 and s2 ==e2: + return 0 + if s1 == e1 or s2 == e2 or abs(s1-e1) == abs(s2-e2): + return 1 + return 2 + +