-
[문제풀이 후기] 백준 #32710 - 구구단표문제풀이/Baekjoon 2026. 3. 2. 18:07
https://www.acmicpc.net/problem/32710
기본 상위 코드
import { readFileSync } from "fs"; const input = readFileSync(0).toString().trim(); const value = Number(input); // 결과값 (기본값 : false) let result = false;첫 번째 시도 (결과 : 실패)
접근 방식
1. A x B 에서 A 반드시 2 ~ 9
2. 구구단의 결과값은 반드시 2 ~ 9 의 배수
=> 2 ~ 9 까지 나누어 떨어지는 지 확인for (let i = 2; i <= 9; i++) { if (value % i === 0) { result = true; break; } } console.log(Number(result));실패 원인
: 1 ≤ N ≤ 100 에서 N === 1 또는 N > 81 의 경우를 처리하지 못함
(반례 : 1, 82)
두 번째 시도 (결과 : 실패)
접근 방식
1. N === 1, N > 81 인 경우 처리
if (value === 1) result = true; if (value <= 81) { for (let i = 2; i <= 9; i++) { if (value % i === 0) { result = true; break; } } } console.log(Number(result));실패 원인
: 구구단의 범위를 벗어나지만 2 ~ 9 의 배수인 경우가 존재
(반례 : 22)
세 번째 시도 (결과 : 성공)
접근 방식
1. 1 ~ 9 는 기본적으로 true 처리
2. 그 이상은 구구단을 계산하여 일치 여부 확인for (let i = 2; i <= 9; i++) { for (let j = 2; j <= 9; j++) { if (value === i * j) { result = true; break; } } } console.log(Number(result));
네 번째 시도 (결과 : 성공)
접근 방식
1. 2단부터가 아닌 1단부터 처리 (1단은 어차피 값이 그대로)
for (let i = 1; i <= 9; i++) { for (let j = 1; j <= 9; j++) { if (Number(input) === i * j) { result = true; break; } } } console.log(Number(result));'문제풀이 > Baekjoon' 카테고리의 다른 글
[문제풀이 후기] 백준 #28352 - 10! (1) 2026.03.04 [문제풀이 후기] 백준 #11121 - Communication Channels (0) 2026.03.03 [문제풀이 후기] 백준 #29736 - 브실이와 친구가 되고 싶어 (0) 2026.02.27 [문제풀이 후기] 백준 #28295 - 체육은 코딩과목 입니다 (0) 2026.02.11 [문제풀이 후기] 백준 #28431 - 양말 짝 맞추기 (0) 2026.02.11