-
[💕 Leetcode] 169. Majority ElementAlgorithm/1일 1코테 2020. 11. 9. 13:42반응형
📌
문제설명
과반수를 차지하는 엘리먼트를 출력하라
leetcode.com/problems/majority-element/submissions/
📌
내 풀이
# 모든 리스트엔 과반수 이상인 수가 있다는 가정이 존재한다.
from collections import Counter class Solution: def majorityElement(self, nums: List[int]) -> int: dict = Counter(nums) # count dict로 만든 뒤에 return dict.most_common(1)[0][0] # 가장 많이 count된 수 출력
📌
남의 풀이
# 다이나믹 프로그래밍 방식
def majorityElement(self, nums: List[int]) -> int: counts = collections.defaultdict(int) # default dict 생성 for num in nums: # 하나씩 꺼내서 if counts[num] == 0: # 0이면 count한 값 저장 counts[num] = nums.count(num) if counts[num] > len(nums) // 2: # count한게 전체 길이 반보다 크면 return num # return
# 파이썬다운 방식
def majorityElement(self, nums: List[int]) -> int: return sorted(nums)[len(nums)//2] # 과반수 이상인 수므로 절반의 위치에 해당하는 수 출력
반응형'Algorithm > 1일 1코테' 카테고리의 다른 글
[🤷♀️ 백준] 1463번. 1로 만들기 (PYTHON) (0) 2020.11.13 [🤷♀️ Leetcode] 509. Fibonascci Number (0) 2020.11.09 [💕 프로그래머스 Python] 영어 끝말잇기 (0) 2020.11.01 [💕 프로그래머스 Python] 올바른 괄호 (0) 2020.10.30 [💕 프로그래머스 Python] 다음 큰 숫자 (0) 2020.10.28