본문 바로가기
Algorithm

SwiftUI: n^2 배열 자르기

by songmoro 2024. 3. 25.
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