sm 기술 블로그
74. 1018 (체스판 다시 칠하기) 본문
let chessBoard = [
"WBWBWBWB",
"BWBWBWBW",
"WBWBWBWB",
"BWBWBWBW",
"WBWBWBWB",
"BWBWBWBW",
"WBWBWBWB",
"BWBWBWBW",
];
let input = require("fs").readFileSync(0).toString().split("\n");
let tmp = input[0].split(" ").map(Number);
let N = tmp[0];
let M = tmp[1];
let min = 64;
for (let n = 0; n < N - 7; n++) {
for (let m = 0; m < M - 7; m++) {
let cnt = 0;
for (let i = 0; i < 8; i++) {
for (let j = 0; j < 8; j++) {
if (input[n + i + 1].charAt(m + j) != chessBoard[i].charAt(j)) {
cnt++;
}
}
}
if (cnt < min) {
min = cnt;
}
if (64 - cnt < min) {
min = 64 - cnt;
}
}
}
console.log(min);
자세한 설명
https://smhope.tistory.com/209
자바스크립트에서 sort는 아스키코드 값 기준으로 정렬한다.
즉, 값이 십의자리 이상은 문제가 발생한다.
예를 들어
list = [11, 61, 5, 4];
console.log(list.sort());
4, 5, 11, 61이 오름차순으로 정렬되어야 하지만 아스키코드 값 기준이기 때문에 11, 4, 5, 61 로 정렬이 된다.
'문제 > 백준_자바스크립트' 카테고리의 다른 글
75. 2750(수 정렬하기) (0) | 2022.06.12 |
---|---|
75. 1436(영화감독 숌) (0) | 2022.06.12 |
73. 7568 (덩치) (0) | 2022.06.11 |
72. 2231(분해합) (0) | 2022.06.09 |
71. 2798(블랙잭) (0) | 2022.06.09 |
Comments