Algorithm
SwiftUI: n^2 배열 자르기
songmoro
2024. 3. 25. 13:09
프로그래머스 n^2 배열 자르기
[1], [[1 2] [2 2]], [[1 2 3] [2 2 3] [3 3 3]] … 처럼 1씩 증가하는 n * n 배열을 1차원 배열로 변환 했을 때 원하는 구간을 반환하는 문제
n = 3 일 때 [1 2 3 2 2 3 3 3 3]로 left부터 right까지 몫과 나머지를 통해 구현
func solution(_ n:Int, _ left:Int64, _ right:Int64) -> [Int] {
(left...right).map {
Int(max($0 / Int64(n) + 1, $0 % Int64(n) + 1))
}
}
// n left right result
// 3 2 5 [3,2,2,3]
// 4 7 14 [4,3,3,3,4,4,4,4]