728x90
프로그래머스 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]
728x90
'Algorithm' 카테고리의 다른 글
SwiftUI: H-Index (0) | 2024.04.02 |
---|---|
SwiftUI: 가장 큰 수 (0) | 2024.03.26 |
SwiftUI: 할인 행사 (0) | 2024.03.24 |
SwiftUI: 괄호 회전하기 (0) | 2024.03.23 |
SwiftUI: 멀리 뛰기 (0) | 2024.03.22 |