Where who wants to meet someone

특별한 이차원 배열 1 본문

프로그래머스 알고리즘 문제 기록/코딩 기초 트레이닝

특별한 이차원 배열 1

Lust3r 2024. 1. 31. 22:32
728x90

문제

https://school.programmers.co.kr/learn/courses/30/lessons/181833

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

내 답안 / 다른 사람들의 답안

import Foundation

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

    return result
}

- Array(repeating: count:) 메서드를 두 번 사용하여 0을 n번씩 반복하는 이차원 배열을 만들고 각 인덱스를 i와 j로 반복하면서 i와 j가 같으면 해당 인덱스의 값을 1로 바꿔주고 반환

 

// 풀이 1
import Foundation

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

// 풀이 2
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
}

// 풀이 3
import Foundation

func solution(_ n:Int) -> [[Int]] {
    return (0..<n).map { i in (0..<n).map { j in i==j ? 1 : 0 } }
}

 

 

점수: +1

'프로그래머스 알고리즘 문제 기록 > 코딩 기초 트레이닝' 카테고리의 다른 글

간단한 식 계산하기  (0) 2024.02.01
특별한 이차원 배열 2  (0) 2024.01.31
x 사이의 개수  (0) 2024.01.31
I로 만들기  (0) 2024.01.31
꼬리 문자열  (0) 2024.01.31