< All posts

769. Max Chunks To Make Sorted

๋ฌธ์ œ ์„ค๋ช…

์ด ๋ฌธ์ œ๋Š” ์ฃผ์–ด์ง„ ๋ฐฐ์—ด์„ ์—ฌ๋Ÿฌ ์กฐ๊ฐ์œผ๋กœ ๋‚˜๋ˆ„์–ด ์ •๋ ฌ๋œ ๋ฐฐ์—ด์„ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋Š” ์ตœ๋Œ€ ์กฐ๊ฐ์˜ ์ˆ˜๋ฅผ ๊ตฌํ•˜๋Š” ๋ฌธ์ œ์ด๋‹ค.

769

ํ’€์ด ๋ฐ ํ•ด์„ค

ํ’€์ด

class Solution:
    def maxChunksToSorted(self, arr: List[int]) -> int:
        max_so_far = 0
        chunks = 0
        
        for i,num in enumerate(arr):
            max_so_far = max(max_so_far, num)
            if max_so_far == i:
                chunks += 1
        
        return chunks

Complexity Analysis

tc

์‹œ๊ฐ„ ๋ณต์žก๋„

  • O(N)

๊ณต๊ฐ„ ๋ณต์žก๋„

  • O(1)

Constraint Analysis

Constraints:
n == arr.length
1 <= n <= 10
0 <= arr[i] < n
All the elements of arr are unique.

References

ยฉ 2025 HyunJoon Sung. All Rights Reserved.

GitHub