forked from DaleStudy/leetcode-study
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathgyeo-ri.py
More file actions
36 lines (30 loc) ยท 1.21 KB
/
gyeo-ri.py
File metadata and controls
36 lines (30 loc) ยท 1.21 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
"""
[๊ฒฐ๊ณผ ์์ฝ]
# ์ฌ์๋ํ์: 2ํ
1. ๋ฐ๋ณต๋ฌธ์ผ๋ก ๊ตฌํ๊ธฐ: ๋ก์ง์ ์ฌ์ฐ๋ n์ด ์ต๋ 10^4์ด๋ฏ๋ก input ๊ธธ์ด์ ๋ฐ๋ผ ์๋๊ฐ ๋๋ ค์ง ์ ์์
2. ๋ฑ์ฐจ์์ด์ ์๋ฆฌ๋ฅผ ํ์ฉํ์ฌ n!์ ๊ตฌํ ๋ค์ nums์ ํฉ์ ๋นผ์ฃผ๊ธฐ
"""
class Solution:
def missingNumber(self, nums: list[int]) -> int:
# (Runtime: 3ms / Beats 61.16%, Memory 20.23MB / Beats: 98.53% )
len_nums = len(nums)
total_sum = int(len_nums * (len_nums + 1) / 2)
return total_sum - sum(nums)
"""
์ด๋, ์๋์ ๊ฐ์ด ๋ณ์ ์ ์ธ ์์ด ๊ณ์ฐํ๋ฉด(In Memory) ๋ฉ๋ชจ๋ฆฌ๋ ์กฐ๊ธ ๋ ์ฐ์ง๋ง ์๋๋ ๋นจ๋ผ์ง๋ค.
(Runtime: 0ms / Beats 100.00%, Memory 20.34MB / Beats: 90.41% )
return int(len(nums) * (len(nums) + 1) / 2) - sum(nums)
"""
if __name__ == "__main__":
test_cases = [
([3, 0, 1], 2),
([0, 1], 2),
([9, 6, 4, 2, 3, 5, 7, 0, 1], 8),
]
solution = Solution()
for idx, case_ in enumerate(test_cases):
nums, answer = case_
result = solution.missingNumber(nums)
assert (
answer == result
), f"Test Case {idx} Failed: Expected {answer}, Got {result}"