leeyang의 개발 성장기
[백준] 1018번 체스판 다시 칠하기 본문
브루트포스란게 무엇인지 까먹어서.... 백준의 유형별에서 브루트 포스를 검색해보았다
브루트포스란? 가능한 모든 경우에 대해 모두 직접 해 보는 방법 입니다.
결국.. 다 해보기? 이니까 오히려 빠르게 감을 잡기 쉽다 생각하였다.
하지만 ㅠㅠ 처음에 체스판을 쪼갠다는걸 잘 못 이해해서
올바른 결과값을 만든 후 비교를 했었다가. 결국 전체에서 뺴는걸로 하였다.
줄과 열의 합이 짝수이면 B, 아니면 W인걸 이용하여 비교한다.
let input = readLine()!.split(separator: " ").map(){Int($0)}
let array1: Int = (input.first ?? 8) ?? 8
let array2: Int = (input.last ?? 8) ?? 8
var result: [Int] = []
for i in 0..<array1-7 {
for j in 0..<array2-7 {
var bTotal = 0
var wTotal = 0
for k in i..<i+8 {
for h in j..<j+8 {
if (k+h) % 2 == 0 {
if inputList[k][h] != "B" {
bTotal += 1
}
if inputList[k][h] != "W" {
wTotal += 1
}
}
else {
if inputList[k][h] != "B" {
wTotal += 1
}
if inputList[k][h] != "W" {
bTotal += 1
}
}
}
}
result.append(wTotal)
result.append(bTotal)
}
}
result.sort(by: <)
print(result.first ?? 0)
참고 블로그
'알고리즘' 카테고리의 다른 글
[백준] 10828번 스택 (0) | 2022.02.13 |
---|---|
[kakao] 2018년 코딩테스트 기출 - 실패율 (0) | 2019.09.03 |
[kakao] 2018년 코딩테스트 기출 - 오픈채팅방 (0) | 2019.09.03 |
[백준] 단계별로 풀어보기 - 9단계 1978번 소수 찾기 (0) | 2019.08.29 |
[백준] 단계별로 풀어보기 - 8단계 10250번 ACM 호텔 (0) | 2019.08.29 |
Comments