포스트

132. 특별한 이차원 배열 1


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
import Foundation

func solution(_ n:Int) -> [[Int]] {
    
    var arr : [[Int]] = []
    
    arr = Array(repeating: Array(repeating:0,count:n), count:n)
    
    for i in 0..<n {
        for j in 0..<n {
            if i == j {
                arr[i][j] = 1
            }
        }
    }
 
    return arr
}

repeating을 이용하여 n * n 의 배열을 생성하였다.

그 이후 행과 열의 index가 같은 값에 대해서 1의 값으로 바꿔주었다.

다른코드

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
import Foundation

func solution(_ n:Int) -> [[Int]] {
    return (1...n).map { 
        var arr = Array(repeating: 0, count: n)
        arr[$0 - 1] = 1
        return arr
    }
}

//
import Foundation

func solution(_ n:Int) -> [[Int]] {
    var arr = [[Int]](repeating: [Int](repeating: 0, count: n), count: n)
    (0..<n).forEach { arr[$0][$0] = 1 }
    return arr
}
//
import Foundation

func solution(_ n:Int) -> [[Int]] {
    return (0..<n).map { i in (0..<n).map { j in i==j ? 1 : 0 } }
}
이 기사는 저작권자의 CC BY 4.0 라이센스를 따릅니다.