PancakeSorting

Published at 2022-10-10

class Solution:
    def pancakeSort(self, arr: List[int]) -> List[int]:
        '''
        뒤에서부터 차곡차곡 정렬해야함:
        젤 뒤로 보낼애를 찾았으면 맨앞으로 가져와야
        걔가 원래 있던곳에서 플립했을때 맨 뒤로 보내짐
        '''
        
        res = []
        i = len(arr)
        while i > 0:
            idx = arr.index(i) + 1
            if i != idx:  # 인덱스랑 같지 않단건 정렬 필요하단 뜻
                
                # 1. 앞으로 가져옴
                res.append(idx)
                arr[:idx] = arr[:idx][::-1]
                
                # 2. 맨 뒤로
                res.append(i)
                arr[:i] = arr[:i][::-1]
                
            i -= 1
        return res