Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- 차이
- rx
- 이스케이핑
- 옵셔널
- weak
- 프로그래머스
- 자바
- 구조체
- 프래그먼트
- 생명주기
- 테스크
- ios
- 해시
- Swift
- 안드로이드
- 연산자
- 클로저
- concurrency
- 풀이
- 스위프트
- 리스트뷰
- RxSwift
- View
- observable
- Subject
- 서브스크립트
- Self
- 알고리즘
- async
- 백준
Archives
- Today
- Total
study record
백준 2740 - 스위프트 풀이 본문
import Foundation
func BJ2740(){
var arrSizes = readLine()!.split(separator: " ").map{ Int($0)! }
var arrA: [[Int]] = Array(repeating: Array(repeating: 0, count: arrSizes[1]), count: arrSizes[0])
for i in 0..<arrSizes[0]{
let input = readLine()!.split(separator: " ").map{ Int($0)! }
for j in 0..<arrSizes[1]{
arrA[i][j] = input[j]
}
}
arrSizes = readLine()!.split(separator: " ").map{ Int($0)! }
var arrB: [[Int]] = Array(repeating: Array(repeating: 0, count: arrSizes[1]), count: arrSizes[0])
for i in 0..<arrSizes[0]{
let input = readLine()!.split(separator: " ").map{ Int($0)! }
for j in 0..<arrSizes[1]{
arrB[i][j] = input[j]
}
}
for i in 0..<arrA.count{
var str = ""
for k in 0..<arrSizes[1]{
var sum: Int = 0
for j in 0..<arrB.count{
sum += arrA[i][j] * arrB[j][k]
}
str += String(sum) + " "
}
print(str)
}
}
// 이차원 배열을 더 깔끔하게 만드는 풀이
func BJ2740plus(){
let NM = readLine()!.split(separator: " ").map { Int(String($0))! }
let N = NM[0], M = NM[1]
var A = Array(repeating: [Int](), count: N)
for i in 0..<N {
A[i] = readLine()!.split(separator: " ").map { Int(String($0))! }
}
let MK = readLine()!.split(separator: " ").map { Int(String($0))! }
let K = MK[1]
var B = Array(repeating: [Int](), count: M)
for i in 0..<M {
B[i] = readLine()!.split(separator: " ").map { Int(String($0))! }
}
for i in 0..<N {
for j in 0..<K {
var sum = 0
for k in 0..<M {
sum += A[i][k] * B[k][j]
}
print("\(sum) ", terminator: "")
}
print("")
}
}
행렬 계산 문제였다.
이차원 배열 만드는 연습을 할 수 있었다.
'알고리즘 > 스위프트 알고리즘' 카테고리의 다른 글
백준 1292 - 스위프트 풀이 (0) | 2022.02.04 |
---|---|
백준 9093 - 스위프트 풀이 (0) | 2022.02.03 |