๋ฐ์ํ
let mn = readLine()!.split(separator: " ").map{Int($0)!}
let m = mn[0]
let n = mn[1]
var board = [[String]]()
for _ in 0..<m {
board.append(readLine()!.map{String($0)})
}
var minCount = m * n // ๋ชจ๋ ์นธ์ ๋ค์ ์น ํด์ผํ๋ ๊ฒฝ์ฐ๋ฅผ ์ด๊ธฐ๊ฐ์ผ๋ก ์ค์
for i in 0..<m-7 {
for j in 0..<n-7 {
var count1 = 0 // ๋งจ ์ผ์ชฝ ์ ์นธ์ด ํฐ์์ธ ๊ฒฝ์ฐ
var count2 = 0 // ๋งจ ์ผ์ชฝ ์ ์นธ์ด ๊ฒ์์์ธ ๊ฒฝ์ฐ
for x in i..<i+8 {
for y in j..<j+8 {
if (x + y) % 2 == 0 {
if board[x][y] == "B" {
count1 += 1
} else {
count2 += 1
}
} else {
if board[x][y] == "W" {
count1 += 1
} else {
count2 += 1
}
}
}
}
minCount = min(minCount, count1, count2)
}
}
print(minCount)
1. ์ด์ค ๋ฐ๋ณต๋ฌธ์ ์ฌ์ฉํ์ฌ ๋ชจ๋ ์์น์์ 8x8 ์ฒด์คํ์ ๋ง๋ค์ด ๋น๊ตํ๋ค.
2. ํฐ์์ธ ๊ฒฝ์ฐ์ ๊ฒ์์์ธ ๊ฒฝ์ฐ๋ฅผ ๊ณ ๋ คํด์ค๋ค. W, S
3. (0,0)๋ถํฐ 8x8 ์ฒด์คํ์ ๋ง๋ค์ด ์ ์ฌ๊ฐํ์ ์น ํด์ผํ๋์ง ํ์ธํ๋ค.
4. ์ ์ฌ๊ฐํ์ ์น ํ๋ ๊ธฐ์ค์ ์ขํ๊ณ์ ํฉ์ด ์ง์์ผ ๊ฒฝ์ฐ์ ํ์์ผ ๊ฒฝ์ฐ์ ๋ฐ๋ผ ๋ค๋ฅด๋ค.
5. ์ต์๊ฐ์ ๊ณ์ ์ ๋ฐ์ดํธํด์ ์ ์ผ ์์ ๊ฐ์ ์ถ๋ ฅํ๋๋กํ๋ค.
๋ฐ์ํ
'๐ ์ฝํ > BOJ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Swift] ๋ฐฑ์ค1436 (0) | 2023.03.23 |
---|---|
[Swift] ๋ฐฑ์ค1181 (0) | 2023.03.23 |
[Swift] ๋ฐฑ์ค1259 (0) | 2023.03.23 |
[Swift] ๋ฐฑ์ค 1085 ์ง์ฌ๊ฐํ์์ ํ์ถ (1) | 2023.03.22 |
[Swift] ๋ฐฑ์ค 2475 (0) | 2023.03.22 |