개발자 톡
연습문제 톡
[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회_정기_코딩_인증평가_기출]_자동차_테스트