문제 링크
CyclicRotation
문제 요약
주어진 배열 A의 인덱스를 한 칸씩 옆으로 밀어내고, 마지막 인덱스의 경우는 첫 번째 인덱스로 옮기는 문제
K번만큼 반복
요구사항
K번 밀어냈을 때 최종으로 보여지는 배열 A를 리턴
import Foundation
import Glibc
public func solution(_ A : inout [Int], _ K : Int) -> [Int] {
var temp: Int = 0
for _ in 0..<K {
for i in (0..<A.count).reversed() {
if(i == A.count-1) {
temp = A[i]
} else {
A[i+1] = A[i]
}
if(i == 0) {
A[i] = temp
}
}
}
return A
}
문제 자체는 쉽다
근데 여기서 또 생각한 건 배열 A의 count만큼 K번 돌린다고 했을 땐 배열 자체가 가장 처음 모습과 동일하다.
바로 끝날 수 있게 맨 앞에 추가하면 더 좋을듯..