반응형
https://www.acmicpc.net/problem/21275
21275번: 폰 호석만
만약 문제의 조건에 맞는 X, A, B가 유일하게 존재한다면, X를 십진법으로 표현한 수와 A와 B를 공백으로 나누어 출력하라. 만약 만족하는 경우가 2가지 이상이라면 "Multiple"을, 없다면 "Impossible"을
www.acmicpc.net
brute force 문제였습니다.
📕 풀이방법
📔 입력 및 초기화
한 줄을 입력 받고 " "으로 split해 data변수에 저장합니다.
📔 풀이과정
1. i진수, j진수로 각각 변환했을 때 수가 같다면 ans배열에 push합니다. 또한 i, j진수를 각각 num변수에 push합니다.
2. 이 후 조건에 따라 출력합니다.
📔 정답출력
ans가 2이 상이면 "Multiple", 0이면 "Impossible", 1이면 10진수 x, a진수, b진수를 출력합니다.
📕 Code
process.stdin.resume();
process.stdin.setEncoding("utf8");
let reader = require("readline").createInterface({
input: process.stdin,
output: process.stdout,
});
reader.on("line", (line) => {
data = line.split(" ");
let ans = [];
let num = [];
for (let i = 2; i <= 36; i++) {
for (let j = 2; j <= 36; j++) {
if (i == j) continue;
if (parseInt(data[0], i) == parseInt(data[1], j)) {
ans.push(parseInt(data[0], i));
num.push(i);
num.push(j);
}
}
}
if (ans.length == 0) console.log("Impossible");
else if (ans.length >= 2) console.log("Multiple");
else {
console.log(ans[0], num[0], num[1]);
}
reader.close();
process.exit();
});
'Algorithm > Brute Force' 카테고리의 다른 글
(C++) - 백준(BOJ) 13140번 : Hello World! (0) | 2021.09.17 |
---|---|
(C++) - 프로그래머스(2020 카카오 인턴십) : 수식 최대화 (0) | 2021.09.06 |
(C++) - 백준(BOJ) 20167번 : 꿈틀꿈틀 호석 애벌레 - 기능성 (0) | 2021.08.17 |
(C++) - 백준(BOJ) 15661번 : 링크와 스타트 (0) | 2021.08.05 |
(C++) - 백준(BOJ) 18428번 : 감시피하기 (0) | 2021.08.04 |