Skip to content

Commit 14f12c8

Browse files
authored
Merge pull request #2452 from gyeo-ri/main
[gyeo-ri] WEEK 03 solutions
2 parents 15182a4 + 93e82a0 commit 14f12c8

File tree

1 file changed

+36
-0
lines changed

1 file changed

+36
-0
lines changed

โ€Žmissing-number/gyeo-ri.pyโ€Ž

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
"""
2+
[๊ฒฐ๊ณผ ์š”์•ฝ]
3+
# ์žฌ์‹œ๋„ํšŸ์ˆ˜: 2ํšŒ
4+
1. ๋ฐ˜๋ณต๋ฌธ์œผ๋กœ ๊ตฌํ•˜๊ธฐ: ๋กœ์ง์€ ์‰ฌ์šฐ๋‚˜ n์ด ์ตœ๋Œ€ 10^4์ด๋ฏ€๋กœ input ๊ธธ์ด์— ๋”ฐ๋ผ ์†๋„๊ฐ€ ๋А๋ ค์งˆ ์ˆ˜ ์žˆ์Œ
5+
2. ๋“ฑ์ฐจ์ˆ˜์—ด์˜ ์›๋ฆฌ๋ฅผ ํ™œ์šฉํ•˜์—ฌ n!์„ ๊ตฌํ•œ ๋‹ค์Œ nums์˜ ํ•ฉ์„ ๋นผ์ฃผ๊ธฐ
6+
"""
7+
8+
9+
class Solution:
10+
def missingNumber(self, nums: list[int]) -> int:
11+
# (Runtime: 3ms / Beats 61.16%, Memory 20.23MB / Beats: 98.53% )
12+
len_nums = len(nums)
13+
total_sum = int(len_nums * (len_nums + 1) / 2)
14+
return total_sum - sum(nums)
15+
16+
"""
17+
์ด๋•Œ, ์•„๋ž˜์™€ ๊ฐ™์ด ๋ณ€์ˆ˜ ์„ ์–ธ ์—†์ด ๊ณ„์‚ฐํ•˜๋ฉด(In Memory) ๋ฉ”๋ชจ๋ฆฌ๋Š” ์กฐ๊ธˆ ๋” ์“ฐ์ง€๋งŒ ์†๋„๋Š” ๋นจ๋ผ์ง„๋‹ค.
18+
(Runtime: 0ms / Beats 100.00%, Memory 20.34MB / Beats: 90.41% )
19+
return int(len(nums) * (len(nums) + 1) / 2) - sum(nums)
20+
"""
21+
22+
23+
if __name__ == "__main__":
24+
test_cases = [
25+
([3, 0, 1], 2),
26+
([0, 1], 2),
27+
([9, 6, 4, 2, 3, 5, 7, 0, 1], 8),
28+
]
29+
30+
solution = Solution()
31+
for idx, case_ in enumerate(test_cases):
32+
nums, answer = case_
33+
result = solution.missingNumber(nums)
34+
assert (
35+
answer == result
36+
), f"Test Case {idx} Failed: Expected {answer}, Got {result}"

0 commit comments

Comments
ย (0)