01
Processing Data. Please Wait...

최소한의 보상

Arrays 고급
30초 미리보기

최소한의 보상

당신이 방금 수업에서 기말시험을 채점한 선생님이라고 생각해 봅시다. 선생님은 학생들의 기말시험 점수가 기재된 시험성적 석차표(정열되어 있지 않은)를 가지고 있으며, 학생에게 보상을 주기 원한다고 합시다. 선생님은 아래 두 가지 규칙에 따라 임의로 보상하기로 결정합니다.

  1. 모든 학생은 최소 한 번의 보상을 받아야 합니다.
  2. 모든 학생은 점수가 낮은 인접학생(왼쪽 또는 오른쪽 학생)보다 더 많은 보상을 받아야하며, 더 높은 점수를 가진 인접학생보다 적은 보상을 받아야 합니다.

위의 두 규칙을 충족하고 학생들에게 제공해야 하는 최소한의 보상을 반환하는 함수를 작성하세요.

모든 학생들의 점수는 모두 다르고 고유합니다.

예제 1

입력

scores = [8, 4, 2, 1, 3, 6, 7, 9, 5]

출력

25
// 최소한의 보상은 다음과 같습니다:
// [4, 3, 2, 1, 2, 3, 4, 5, 1]