Menu
CoddyTech

Summary Ranges

서로 다른 정수로 이루어진 정렬된 배열 nums가 주어집니다. 모든 값이 정확히 하나의 범위에 속하도록 연속된 정수의 범위들을 가능한 한 적은 수로 나누세요. 범위 a..b는 텍스트 "a->b"로, 값이 하나인 경우에는 "a"로 나타내세요. 범위들을 오름차순으로 반환하세요.

함수

summaryRanges(nums: integer-array) → string-array
numsinteger-array
정렬된 서로 다른 정수 배열
반환값string-array
범위를 텍스트로 표시하며, 가장 작은 값부터 가장 큰 값까지

제약 조건

  • 1 ≤ nums.length ≤ 5000
  • -109 ≤ nums[i] ≤ 109
  • nums는 오름차순으로 정렬되어 있으며 중복 항목이 없습니다.

예제

입력
nums = [0, 1, 2, 5, 6, 9]
출력
["0->2", "5->6", "9"]
설명
0, 1, 2는 서로 연속되므로 "0->2"를 이룹니다. 2에서 5로의 간격은 새로운 범위인 "5->6"을 시작하고, 9는 "9"로 단독으로 나타납니다.

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

challenge icon

후속 질문

예를 들어 nums에 [1, 2, 2, 3]처럼 중복된 값이 들어 있을 수 있다고 가정해 보세요. 그래도 "1->3"이 출력되도록 하려면 무엇을 바꾸면 될까요?

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

케이스 1

케이스 2

입력

nums = [0, 1, 2, 5, 6, 9]

기대값

["0->2", "5->6", "9"]