본문 바로가기
Leetcode

[LeetCode] Summary Ranges 파이썬

by YGSEO 2021. 4. 6.
728x90
class Solution:
    # @param {integer[]} nums
    # @return {string[]}
    def summaryRanges(self, nums):
        
        if not nums:
            return []
        
        start = nums[0] 
        end = nums[0]
        ans = []
        def beautify(a, b):
            if a == b:
                return str(a)
            else:
                return str(a) + "->" + str(b)

        for i in range(1,len(nums)):
            if (nums[i] - nums[i-1]) != 1:
                ans.append(beautify(start,nums[i-1]))
                start = nums[i]
        ans.append(beautify(start, nums[-1]))
        return ans

for 문 첫번째 if 문을 통해 연속되는 수가 끊기는 idx 기준으로 nums[i-1]이 end 지점이 된다.

start 지점을 update 해줘야하기 때문에 start = nums[i]가 된다

 

 

728x90

댓글