
😎풀이
nums에 1을 찾을 때까지 순회
1-1. nums의 첫 번째 요소가 1이 될 때까지 스왑
nums에 n(nums의 길이)를 찾을 때까지 순회
2-1. nums의 마지막 요소가 n이 될 때까지 스왑
function semiOrderedPermutation(nums: number[]): number {
let operation = 0
const n = nums.length
let i = 0
while(i < n) {
if(nums[i] !== 1) {
i++
continue
}
while(nums[0] !== 1) {
[nums[i - 1], nums[i]] = [nums[i], nums[i - 1]]
i--
operation++
}
break
}
i = n - 1
while(i >= 0) {
if(nums[i] !== n) {
i--
continue
}
while(nums[n - 1] !== n) {
[nums[i], nums[i + 1]] = [nums[i + 1], nums[i]]
i++
operation++
}
break
}
return operation
};