sm 기술 블로그

74. 1018 (체스판 다시 칠하기) 본문

문제/백준_자바스크립트

74. 1018 (체스판 다시 칠하기)

sm_hope 2022. 6. 11. 20:01
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

 

78.1018(체스판 다시 칠하기)

chessBoard = ['WBWBWBWB', 'BWBWBWBW']*4 N, M = map(int, input().split()) chess = [input() for _ in range(N)] cntRepository = [] for n in range(N-7): for m in range(M-7): cnt = 0 for i in range(8): f..

smhope.tistory.com

자바스크립트에서 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