728x90
반응형
목차
https://www.acmicpc.net/problem/1107
문제
문제 구현 방향
처음에는 이진탐색으로 해야하나 싶었지만 50000범위를 한번 루프돌면 충분한 시간 복잡도가 나올 것 같아
브루트 포스로 풀었다. (그리디인가? 했지만 너무 복잡해보여서 브루트포스부터 트라이)
문제 구현 시 주의점
3번째 입력이 주어지지 않을 수 있기 때문에 빈 입력을 받을려 하면 85%에서 error가 뜨니 주의하자
나는 50만에서 충분히 범위를 넓혀 주었다.
코드 구현
const input = require("fs")
.readFileSync("./dev/stdin", "utf-8")
.trim()
.split("\n");
let a = input[0].trim();
let broken = [];
if (Number(input[1]) !== 0) {
broken = input[2].trim().split(" ").map(Number);
}
let brokenSet = new Set(broken);
let first = Math.abs(100 - Number(a));
let gap = 999999999;
for (let i = 0; i <= 1000000; i++) {
let n = [...String(i)];
const truth = n.some((item) => brokenSet.has(Number(item)));
if (!truth) {
let ngap = Math.abs(Number(a) - i) + String(i).length;
gap = Math.min(gap, ngap);
}
}
gap = Math.min(first, gap);
console.log(gap);
반응형
'백준 문제풀이 > Nodejs' 카테고리의 다른 글
[백준][브루트 포스] 1759 암호 만들기 NodeJs 구현 (0) | 2024.12.30 |
---|---|
[백준][슬라이딩 윈도우] 1593 문자해독 NodeJs 구현 (0) | 2024.12.26 |
[백준][UnionFind] 1043 거짓말 NodeJs 구현 (0) | 2024.12.25 |
[백준][밸만포드] 11657 타임머신 NodeJs 구현 (0) | 2024.12.05 |
[백준][문자열] 1120 문자열 NodeJs 구현 (0) | 2024.11.22 |