๋ฌธ์ (์ถ์ฒ: https://www.acmicpc.net/problem/2312)
< ์ ๋ณต์ํ๊ธฐ >
๋ฌธ์ ํ์ด
์์ธ์๋ถํด๋ฅผ ํตํด ๊ฐ ์ธ์์ ๊ทธ ์ธ์๊ฐ ๊ณฑํด์ง ํ์๋ฅผ ์ถ๋ ฅํ๋ค.
my solution (Java)
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
public class _2312_ { // ์ ๋ณต์ํ๊ธฐ
public static void main(String[] args) throws IOException {
BufferedReader bf = new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
int t = Integer.parseInt(bf.readLine());
for (int i = 0; i < t; i++) {
int num = Integer.parseInt(bf.readLine());
int idx = 2;
int cnt = 0;
while (idx <= num) {
if (num % idx == 0) {
num /= idx;
cnt += 1;
} else {
if (cnt > 0) {
bw.write(idx + " " + cnt + "\n");
cnt = 0;
}
idx++;
}
}
if (cnt > 0) {
bw.write(idx + " " + cnt + "\n");
}
}
bw.flush();
}
}
๋ณ์)
t : ํ ์คํธ ์ผ์ด์ค ์
num : ์์ ์ ์ N
idx : ์ธ์
cnt : ์ธ์๊ฐ ๊ณฑํด์ง ํ์
ํ ์คํธ ์ผ์ด์ค ์๋ฅผ ์ ๋ ฅ๋ฐ๋๋ค. ํ ์คํธ ์ผ์ด์ค ์๋งํผ ์์ ์ ์๋ฅผ ์ ๋ ฅ๋ฐ์ ํ ์์ธ์๋ถํด๋ฅผ ํ๋ค. ์ธ์๊ฐ ์ฆ๊ฐํ๋ ์์ผ๋ก ์ถ๋ ฅํด์ผ ํ๋ฏ๋ก ์์ธ์๋ถํด๋ฅผ ๊ตฌํ ๋ 2๋ถํฐ ์์ํ๋ค. ์ ์๋ฅผ idx๋ก ๋๋ ์ ์์ผ๋ฉด ์ธ์๋ผ๋ ๋ป์ด๋ฏ๋ก ๋๋๊ณ cnt๋ฅผ ์ฆ๊ฐ์ํจ๋ค. ๋๋ ์ ์๋ค๋ฉด ๋ค์ ์ธ์๋ฅผ ๊ตฌํด์ผ ํ๋ฏ๋ก ์ธ์์ ํ์๋ฅผ ์ถ๋ ฅ ํ idx๋ฅผ ์ฆ๊ฐ์ํจ๋ค.
* ๊ณฑํด์ง ํ์๊ฐ 0์ธ ๊ฒ์ ์ถ๋ ฅํ๋ฉด ์ ๋๋ค๋ ๊ฒ์ ์ฃผ์ํด์ผ ํ๋ค.

'๐Algorithm > ๐ฅBaekjoon' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Baekjoon] 1918_ํ์ ํ๊ธฐ์ (0) | 2024.02.15 |
---|---|
[Baekjoon] 6986_์ ์ฌํ๊ท (1) | 2024.02.14 |
[Baekjoon] 14225_๋ถ๋ถ์์ด์ ํฉ (0) | 2024.02.12 |
[Baekjoon] 10451_์์ด ์ฌ์ดํด (0) | 2024.02.09 |
[Baekjoon] 3758_KCPC (0) | 2024.02.08 |