개발자 톡

연습문제 톡 [HSAT 7회 정기 코딩 인증평가 기출] 자동차 테스트

JavaScript 채점이 정말 맞는건지 궁금합니다.

등록일
2024-02-01 15:46:02
조회수
444
작성자
kjh302903
let inputs = require("fs")
  .readFileSync("/dev/stdin")
  .toString()
  .trim()
  .split("\n");


let [n, q] = inputs[0].split(" ").map(Number);
let arr = inputs[1].split(" ").map(Number);


arr.sort((a, b) => a - b);


for (let i = 0; i < q; i++) {
  let m = Number(inputs[2 + i]);


  let lo = -1;
  let hi = n - 1;


  while (lo + 1 < hi) {
    let mid = Math.floor((lo + hi) / 2);


    if (arr[mid] >= m) {
      hi = mid;
    } else {
      lo = mid;
    }
  }


  if (arr[hi] !== m) {
    console.log(0);
  } else {
    console.log(hi * (n - 1 - hi));
  }

제 코드 입니다.

풀고난 후 테스트 케이스 2개를 통과하고 제출했는데, 0점이 떴습니다.

아무리 봐도 틀린 것이 안보이고 뭐가 문제인지 모르겠어서 혹시나 해서 같은 코드를 언어를 바꾸어서 제출 해봤습니다.

n, q = map(int, input().split())
arr = list(map(int, input().split()))


arr.sort()


for _ in range(q):
    m = int(input())


    lo = -1
    hi = n - 1


    while lo + 1 < hi:
        mid = (lo + hi) // 2


        if arr[mid] >= m:
            hi = mid
        else:
            lo = mid


    if arr[hi] != m:
        print(0)
    else:
        print(hi * (len(arr) - 1 - hi))


파이썬 코드로 제출 했더니, 100 점이 나왔습니다.

혹시나 해서 C++로도 제출 해봤더니 100점이 나왔습니다.

같은 로직의 코드가 언어만 바뀌었는데 0 -> 100 으로 바뀐 것으로 보아서 JS 채점에 어떤 문제가 있는 것인지 의심이 됩니다.

아니면 제 js 코드에 어떤 문제가 있는 것인지 궁금합니다. ㅜㅜ

#[hsat_7회_정기_코딩_인증평가_기출]_자동차_테스트

이 카테고리의 톡 더보기