Menu
CoddyTech

Leaders in an Array

정수 배열 nums가 주어집니다. 원소가 오른쪽에 있는 모든 원소보다 크거나 같으면 해당 원소는 리더입니다. 마지막 원소의 오른쪽에는 아무것도 없으므로 항상 리더입니다. nums에서 왼쪽에서 오른쪽으로 나타나는 순서대로 모든 리더를 반환하세요.

함수

leaders(nums: integer-array) → integer-array
numsinteger-array
검색할 정수 배열
반환값integer-array
왼쪽에서 오른쪽으로 본 nums의 선두 요소

제약 조건

  • 1 ≤ nums.length ≤ 25000
  • -109 ≤ nums[i] ≤ 109

예제

입력
nums = [12, 5, 9, 3, 6, 2]
출력
[12, 9, 6, 2]
설명
2가 마지막에 있으므로 선두에 옵니다. 6은 그 뒤에 있는 2를 이기고, 9는 3, 6, 2를 이기며, 12는 모든 수를 이깁니다. 5는 9에게 지고 3은 6에게 지므로 답은 [12, 9, 6, 2]입니다.
challenge icon

후속 질문

값이 한 번에 하나씩 들어오고 각 값이 들어온 후 지금까지의 리더를 보고해야 한다면, 값마다 분할 상환 O(1) 시간으로 목록을 어떻게 업데이트하나요?

코드 초기화
def leaders(nums):
    # 여기에 코드를 작성하세요

테스트 #1

테스트 #2

테스트 #3

인자

nums = [12, 5, 9, 3, 6, 2]

예상 출력

[12, 9, 6, 2]