๐ฅ๏ธย ์์ํ๋ฉฐ
Given an arrayยnumsย of sizeยn, returnย the majority element.
๋ฐฐ์ด์์ ๊ณผ๋ฐ์ ์์๋ฅผ ์ฐพ์ผ๋ฉด ๋๋ค. ๊ณผ๋ฐ์ ์์๊ฐ ํญ์ ์กด์ฌํ๋ค๊ณ ๊ฐ์ ํ๋ฏ๋ก ๋ฌธ์ ์ ๋์ด๋๊ฐ ์ฌ์์ง๋ค.
ย
โ๏ธย Python
from typing import List class Solution: def majorityElement(self, nums: List[int]) -> int: return max(nums, key=nums.count)
ย
ํ์ด์ฌ์ ๊ฒฝ์ฐ๋ ๋งค์ฐ ์ฝ๋ค. ๋ฌผ๋ก ์๊ฐ ๋ณต์ก๋๊ฐ
O(nยฒ) ์ด์ง๋ง ๊ฐ๋จํ๊ฒ ํ๋ฆฐ๋ค. max ํจ์์ key๋ก ํจ์๊ฐ ๋ค์ด๊ฐ ์ ์๋ค๋ ๊ฑธ ์๋ ๊ฒ์ด ์ค์ํ๋ค.ย
๐กย ๋ ์ข์ ์์ด๋์ด
class Solution: def majorityElement(self, nums: List[int]) -> int: count = 1 major = nums[0] length = len(nums) for i in range(1, length): if count == 0: count += 1 major = nums[i] elif nums[i] == major: count += 1 else: count -= 1 return major
์๊ฐ ๋ณต์ก๋๊ฐ
O(n) ์ธ ์ข์ ์ฝ๋๋ค. ์ด ์ฝ๋๋ ๊ณผ๋ฐ์ ์์๊ฐ ์ ๋ฐ ์ด์ ๋ฑ์ฅํ๋ค๋ ํน์ฑ์ ์ด์ฉํ์ฌ, ๋ง์ง๋ง๊น์ง ๋จ๋ ์์๊ฐ ์ค์ ๋ก ๊ณผ๋ฐ์ ์์์์ ๋ณด์ฅํ๋ค.ย
๐ย ์๊ฐ
ํ์ด์ฌ์ ๋ฉ์๋๋ฅผ ๋ง์ด ์๋ ๊ฒ ์ค์ํ ๊ฒ ๊ฐ๋ค.
ย
![[Leetcode] 169. Majority Element](https://reo91004.notion.site/image/https%3A%2F%2Fprod-files-secure.s3.us-west-2.amazonaws.com%2Fb4dac9d0-810c-47c4-800c-0ca10b8d0529%2Fde29f40a-05a3-4aec-b112-7e56072966a0%2FLeetCode_Logo_Black.png?table=block&id=1ae83ab9-d8ee-4cc5-849e-c89a44b35fbd&cache=v2)
![[Leetcode] 169. Majority Element](https://reo91004.notion.site/image/https%3A%2F%2Fprod-files-secure.s3.us-west-2.amazonaws.com%2Fb4dac9d0-810c-47c4-800c-0ca10b8d0529%2F45a3427e-47fb-412a-a090-3bf6d1afdb04%2Fleetcode.png?table=block&id=1ae83ab9-d8ee-4cc5-849e-c89a44b35fbd&cache=v2)

๋๊ธ