-
Notifications
You must be signed in to change notification settings - Fork 0
/
1018(brute force).js
74 lines (58 loc) · 1.38 KB
/
1018(brute force).js
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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
const { off } = require('process');
const readline = require('readline');
const { callbackify } = require('util');
const rl = readline.createInterface({
input: process.stdin,
output: process.stdout,
});
const data = [];
rl.on('line', (input) => {
data.push(input);
}).on('close', () => {
let [N, M] = data.shift().split(' ').map(Number); //rols,cols
let white = [ //첫 체스판 색깔이 white인 경우
'WBWBWBWB',
'BWBWBWBW',
'WBWBWBWB',
'BWBWBWBW',
'WBWBWBWB',
'BWBWBWBW',
'WBWBWBWB',
'BWBWBWBW',
];
let black = [ //첫 체스판 색깔이 black인 경우
'BWBWBWBW',
'WBWBWBWB',
'BWBWBWBW',
'WBWBWBWB',
'BWBWBWBW',
'WBWBWBWB',
'BWBWBWBW',
'WBWBWBWB',
];
let board=data
let answer=64
for(let i=0; i<=N-8; i++){//10 13이면 0부터 2까지
for(let j=0; j<=M-8; j++){ //10 13이면 0부터 5까지
check(i,j)
}
}
function check(a,b){ //이거 const변수로 함수 지정하면 호이스팅 안돼서 에러
let checkWhite=0
let checkBlack=0
for(let i=a; i<a+8; i++){
for(let j=b; j<b+8; j++){
if(board[i][j] !== white[i-a][j-b]){
checkWhite++
}
if(board[i][j] !== black[i-a][j-b]){
checkBlack++
}
}
}
let result=(checkWhite<checkBlack)?checkWhite:checkBlack
answer=(answer>result)?result:answer
}
console.log(answer)
process.exit();
});