Menu
CoddyTech

Majority Element

쉬움해싱python iconjava iconcpp iconc iconjs icon+10

길이가 n인 정수 배열 nums가 주어집니다. 배열에서 한 값이 n / 2번보다 많이 나타나며, 그 값을 과반수 원소라고 합니다. 그 값을 반환하세요. 배열의 절반보다 많이 차지하는 값은 항상 유일하므로 답은 정확히 하나입니다.

함수

majorityElement(nums: integer-array) → integer
numsinteger-array
정수 배열에서 하나의 값이 배열의 절반을 초과하여 차지하는 경우
반환값integer
n / 2회보다 더 많이 나타나는 값

제약 조건

  • 1 ≤ nums.length ≤ 104
  • -109 ≤ nums[i] ≤ 109
  • 하나의 값이 nums.length / 2번보다 많이 나타납니다.

예제

입력
nums = [3, 9, 3, 3, 4]
출력
3
설명
5개의 요소에서 3은 세 번 나타납니다. 3은 5 / 2 = 2.5보다 크며, 9와 4는 각각 한 번씩 나타납니다.

lock icon제출 시 숨은 테스트 +15개

challenge icon

후속 질문

배열을 정렬하지 않고 O(n) 시간과 O(1) 추가 메모리로 과반수 원소를 찾을 수 있나요?

코드 초기화
def majorityElement(nums):
    # 여기에 코드를 작성하세요
테스트 케이스

케이스 1

케이스 2

입력

nums = [3, 9, 3, 3, 4]

기대값

3