{}연습장
대시보드학습스킬 경로문제모의고사라이브 코테복습데이터
문제 목록〉스택〉연속 카드 묶음 스코어← 이전다음 →
#044 · 스택중간스택

연속 카드 묶음 스코어

문제

카드 배열이 주어집니다. 카드를 왼쪽부터 하나씩 추가할 때마다 다음 규칙으로 스코어를 계산합니다:

[묶음 규칙]

  • 새 카드를 추가할 때, 현재 묶음의 최솟값보다 새 카드가 작거나 같으면 해당 묶음과 병합되고 묶음의 최솟값이 새 카드 값으로 갱신됩니다.
  • 병합은 연쇄적으로 발생할 수 있습니다.
  • 스코어 = 모든 묶음의 최솟값의 합

예시

cards = [3, 1, 4, 2]
 
카드 3 추가: 묶음 [3],         스코어 = 3
카드 1 추가: 1≤3 병합 → [1],  스코어 = 1
카드 4 추가: 4>1 새묶음 → [1][4], 스코어 = 5
카드 2 추가: 2≤4 병합 → [1][2], 스코어 = 3
 
→ [3, 1, 5, 3]

제약 조건

  • 1 ≤ cards.length ≤ 1,000
  • 1 ≤ cards[i] ≤ 10,000

시간 복잡도 목표: O(N)

공간 복잡도 목표: O(N)

테스트 케이스

예시 1: [3,1,4,2] → [3,1,5,3]
입력: input = [3,1,4,2]
출력: [3,1,5,3]
예시 2: 오름차순 → 누적 합 [1,3,6]
입력: input = [1,2,3]
출력: [1,3,6]
예시 3: 내림차순 → 계속 병합 [3,2,1]
입력: input = [3,2,1]
출력: [3,2,1]
예시 4: 단일 카드 → [5]
입력: input = [5]
출력: [5]
예시 5: [3,1,4,1,5] → [3,1,5,1,6]
입력: input = [3,1,4,1,5]
출력: [3,1,5,1,6]
solution.ts
에디터 로딩 중…

▶ 실행은 기록 없이 채점만, 제출은 결과가 진행률·오답노트에 기록됩니다.