-
[문제풀이 후기] 백준 #29736 - 브실이와 친구가 되고 싶어문제풀이/Baekjoon 2026. 2. 27. 17:18
https://www.acmicpc.net/problem/29736
기본 상위 코드
import { readFileSync } from "fs"; const input = readFileSync(0).toString().trim(); const [[A, B], [K, X]] = input .split("\n") .map((value) => value.split(" ").map(Number));첫 번째 시도 (결과 : 성공)
접근 방식
1. 전체 배열 생성 후 필터링
const result = Array.from( { length: B - A + 1 }, (_, index) => A + index, ).filter((value) => value >= K - X && value <= K + X); console.log(result.length ? result.length : "IMPOSSIBLE");
두 번째 시도 (결과 : 성공)
접근 방식
1. 최소값 = A 또는 K - X 중 최대값
2. 최대값 = B 또는 K + X 중 최소값const minValue = Math.max(A, K - X); const maxValue = Math.min(B, K + X); console.log(maxValue >= minValue ? maxValue - minValue + 1 : "IMPOSSIBLE");효과
메모리 : 9516 KB -> 9344 KB
시간 : 92 ms -> 88 ms후기
확실히 분석을 더 하면 할수록 코드는 깔끔해진다. 코드의 해석이 더 필요할 뿐..
'문제풀이 > Baekjoon' 카테고리의 다른 글
[문제풀이 후기] 백준 #11121 - Communication Channels (0) 2026.03.03 [문제풀이 후기] 백준 #32710 - 구구단표 (0) 2026.03.02 [문제풀이 후기] 백준 #28295 - 체육은 코딩과목 입니다 (0) 2026.02.11 [문제풀이 후기] 백준 #28431 - 양말 짝 맞추기 (0) 2026.02.11 [문제풀이 후기] 백준 #31495 - 그게 무슨 코드니.. (0) 2026.01.23