개발자 톡

연습문제 톡 [21년 재직자 대회 예선] 전광판

1,2번만 맞아요. 자바스크립트 풀이 왜 틀릴까요?

등록일
2025-02-07 19:36:09
조회수
70
작성자
99heesong
const readline = require("readline");

const rl = readline.createInterface({
 input: process.stdin,
 output: process.stdout,
});

let t;
let arr = [];
let lineCount = 0

rl.on("line", (input) => {
  if (lineCount == 0) t = +input;
  else arr.push(input.split(" "));
  lineCount++;
});

rl.on("close", () => {
  const originArr = [6, 2, 5, 5, 4, 5, 6, 4, 7, 6]; // 숫자 없애기 또는 생기게 하기
  const changeArr = [ // 숫자 바꾸기
    [0,4,3,3,4,3,2,2,1,2],
    [4,0,5,3,2,5,6,2,5,4],
    [3,5,0,2,5,4,3,5,2,2],
    [3,3,2,0,3,2,3,3,2,1],
    [4,2,5,3,0,3,4,2,3,2],
    [3,5,4,2,3,0,1,3,2,1],
    [2,6,3,3,4,1,0,4,1,2],
    [2,2,5,3,2,3,4,0,3,2],
    [1,5,2,2,3,2,1,3,0,1],
    [2,4,3,1,2,1,2,2,1,0]
  ];
  const result = [];

  for ([prev, next] of arr) {
    const prevArr = prev.split("").reverse();
    const nextArr = next.split("").reverse();
    const longLen = Math.max(prev.length, next.length);
    let count = 0;

    for (let i = 0; i < longLen; i++) {
      if (prevArr[i] && nextArr[i]) count += changeArr[+prevArr[i]][+nextArr[i]];
      else if (prevArr[i]) count += originArr[+prevArr[i]];
      else count += originArr[+nextArr[i]];
    }

    result.push(count)
  }
   
  console.log(result.join("\n"))
  process.exit();
});



일일이 계산해서 해봤는데 1,2번만 통과해요. 게시판 속 반례들도 통과합니다. 어디가 문제일까요?ㅜㅜ 도와주세요 😭

#[21년_재직자_대회_예선]_전광판
#자바스크립트

이 카테고리의 톡 더보기