μΌ | μ | ν | μ | λͺ© | κΈ | ν |
---|---|---|---|---|---|---|
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 |
- μ΄μ§νμ
- ios
- μ½ν
- Queue
- μ ν΄λ¦¬λ νΈμ λ²
- μμ
- WebApp
- λΆν νμ
- λμ ν©
- BFS
- λΈλ£¨νΈν¬μ€ μκ³ λ¦¬μ¦
- dfs
- νλ‘κ·Έλλ¨Έμ€
- SwiftUI
- λ¬Έμμ΄
- λ°±νΈλνΉ
- μκ³ λ¦¬μ¦
- λΈλ£¨νΈν¬μ€
- WebView
- λΉνΈμ°μ°μ
- λΆν μ 볡
- μ½λ©ν μ€νΈ
- λ°±μ€
- μ€ν
- 그리λ μκ³ λ¦¬μ¦
- λΆν μ 볡
- dp
- Swift
- Today
- Total
MUKER_DEV with iOS
[swift] λ°±μ€ - 1018λ²: 체μ€ν λ€μ μΉ νκΈ° λ³Έλ¬Έ
[swift] λ°±μ€ - 1018λ²: 체μ€ν λ€μ μΉ νκΈ°
MUKER 2023. 2. 11. 23:291018λ²: 체μ€ν λ€μ μΉ νκΈ°
첫째 μ€μ Nκ³Ό Mμ΄ μ£Όμ΄μ§λ€. Nκ³Ό Mμ 8λ³΄λ€ ν¬κ±°λ κ°κ³ , 50λ³΄λ€ μκ±°λ κ°μ μμ°μμ΄λ€. λμ§Έ μ€λΆν° Nκ°μ μ€μλ 보λμ κ° νμ μνκ° μ£Όμ΄μ§λ€. Bλ κ²μμμ΄λ©°, Wλ ν°μμ΄λ€.
www.acmicpc.net
λ¬Έμ νΈλ λ° μμ΄ λμμ΄ λλλ‘ λμ νμ΄μ κ°μ λ νμ΄λ₯Ό μ¬λ¦½λλ€.
λν νμ΄ ν λ€λ₯Έ μ¬λμ νμ΄λ₯Ό λ³΄κ³ μ°Έκ³ ν λ§ν νμ΄λ μ¬λ¦½λλ€.
- λ¬Έμ μ λ°λΌ λμ νμ΄λ§ μμ μ μμ΅λλ€.
- ν΄λΉ νμ΄λ€μ νμ΄ μ€ νλμΌ λΏ μ΅μ μ νμ΄λ μλ μ μμ΅λλ€.
λ¬Έμ μ€λͺ
M*Nμ 보λνμ΄ μμ΅λλ€.
8*8체μ€νμ λ§λ€κΈ° μν΄
M*N 보λνμμ 8*8λ§νΌ λΌμ΄ λ§λ€ μ μμ΅λλ€.
체μ€νμ μ²μ, μ¦ [0][0]μ 'ν°μ'μΌλ‘ μμνκ±°λ 'κ²μμ'μΌλ‘ μμνκ³
λ§λλ λ³μ λ°λμ μμ΄ λμ€κ² λ©λλ€.
M*N 보λνμμ 8*8λ§νΌ λΌμ¬ λ
μ΅μνμΌλ‘ 보λνμ μμ νμ¬ μ²΄μ€νμ λ§λ€ μ μμμ§ κ΅¬νλ©΄ λ©λλ€.
λμ νμ΄
import Foundation
let blackBoard = [["B","W","B","W","B","W","B","W"],
["W","B","W","B","W","B","W","B"],
["B","W","B","W","B","W","B","W"],
["W","B","W","B","W","B","W","B"],
["B","W","B","W","B","W","B","W"],
["W","B","W","B","W","B","W","B"],
["B","W","B","W","B","W","B","W"],
["W","B","W","B","W","B","W","B"]]
let whiteBoard = [["W","B","W","B","W","B","W","B"],
["B","W","B","W","B","W","B","W"],
["W","B","W","B","W","B","W","B"],
["B","W","B","W","B","W","B","W"],
["W","B","W","B","W","B","W","B"],
["B","W","B","W","B","W","B","W"],
["W","B","W","B","W","B","W","B"],
["B","W","B","W","B","W","B","W"]]
let input = readLine()!.split(separator: " ").map { Int($0)! }
var board = [[String]]()
var count = 65
for _ in 0..<input[0] { board.append((readLine()!.map { String($0) })) }
for i in 0..<input[0]-7 {
for j in 0..<input[1]-7 {
var Bcount = 0
var Wcount = 0
for k in 0..<8 {
for l in 0..<8 {
if board[i+k][j+l] != blackBoard[k][l] { Bcount += 1 }
if board[i+k][j+l] != whiteBoard[k][l] { Wcount += 1 }
}
}
let min = min(Bcount, Wcount)
if count > min { count = min }
}
}
print(count)
미리 'ν°μ'μΌλ‘ μμνλ 체μ€νκ³Ό
'κ²μμ'μΌλ‘ μμνλ 체μ€ν λ°°μ΄μ λ§λ€μ΄λ¨μ΅λλ€.
μ£Όμ΄μ§ M*N 보λμμ μΌμͺ½ μ λΆν° 8*8λ§νΌ λΌμ΄λ΄
λ¬Έμ νλνλλ₯Ό 미리 λ§λ€μ΄λμ λ κ°μ 체μ€νκ³Ό λΉκ΅νμ΅λλ€.
ν°μ,κ²μμ 체μ€νκ³Όμ λΉκ΅κ° λλκ³
λ μ κ² ν리λ 체μ€νμ countλ₯Ό κΈ°μ΅ν©λλ€.
μ΄λ κ² M*N보λ μ 체λ₯Ό λ€ νμνλ©° λΉκ΅νμ¬
μ΅μνμ κ²°κ³Όλ₯Ό λμΆν©λλ€.
μ°Έκ³ ν λ§ν νμ΄
let input = readLine()!.split(separator: " ").map{ Int($0)! }
let (N, M) = (input[0], input[1])
let board = (0..<N).map{ _ in readLine()!.map{ String($0) }}
func shouldRepaint( _ i: Int, _ j: Int) -> Bool {
return board[i][j] != ((i + j) % 2 == 0 ? "B" : "W" )
}
var min = 64
for i in 0...(N-8) {
for j in 0...(M-8) {
var repaint = 0
for ii in i..<i+8 {
for jj in j..<j+8 where shouldRepaint(ii, jj) {
repaint += 1
}
}
if repaint > 32 { repaint = 64-repaint }
if repaint < min { min = repaint}
}
}
print(min)
let NM = readLine()!.split{$0==" "}.map{Int(String($0))!}
let N = NM.first!, M = NM.last!
var chess: [[String]] = [], res = 64
for _ in 0..<NM.first! {
chess.append(readLine()!.map{String($0)})
}
for row in 0...(N-8) {
for col in 0...(M-8) {
var cnt = 0
for i in row..<(row+8) {
for j in col..<(col+8) where chess[i][j] != ((i+j)%2 == 0 ? "B":"W") {
cnt+=1
}
}
res = min(res, cnt, 64-cnt)
}
}
print(res)
'π€ μκ³ λ¦¬μ¦ > BAEKJOON' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[swift] λ°±μ€ - 1920λ²: μ μ°ΎκΈ° (0) | 2023.02.13 |
---|---|
[swift] λ°±μ€ - 7568λ²: λ©μΉ (0) | 2023.02.12 |
[swift] λ°±μ€ - 1436λ²: μνκ°λ μ (0) | 2023.02.08 |
[swift] λ°±μ€ - 11866λ²: μμΈνΈμ€ λ¬Έμ 0 (0) | 2023.02.06 |
[swift] λ°±μ€ - 11050λ²: μ΄ν κ³μ 1 (0) | 2023.02.05 |