Where who wants to meet someone
특별한 이차원 배열 1 본문
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 |