๋ฌธ์ (์ถ์ฒ: https://www.acmicpc.net/problem/14232)
< ๋ณด์ ๋๋ >
๋ฌธ์ ํ์ด
ํจ์จ์ ์ผ๋ก ์ฝ์๋ฅผ ์ฐพ๋ ์๊ณ ๋ฆฌ์ฆ์ ์ฐพ์๋ณด๋ ๊ตฌํ๋ ค๋ ์์ ์ ๊ณฑ๊ทผ๊น์ง ์๋ง 0์ผ๋ก ๋๋์ด ๋จ์ด์ง๋์ง ํ์ธํ๋ฉด ๋๋ค.
my solution (Java)
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.util.ArrayList;
public class _14232_ { // ๋ณด์ ๋๋
public static void main(String[] args) throws IOException {
BufferedReader bf = new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
Long k = Long.parseLong(bf.readLine());
ArrayList<Integer> list = new ArrayList<>();
for (int i = 2; i <= Math.sqrt(k) + 1; i++) {
while (k%i == 0) {
list.add(i);
k/=i;
}
}
if (k > 1) {
bw.write(list.size() + 1 + "\n");
} else {
bw.write(list.size() + "\n");
}
for (int i = 0; i < list.size(); i++) {
bw.write(list.get(i) + " ");
}
if (k > 1) {
bw.write(k + "");
}
bw.flush();
}
}
๋ณ์)
k : ๋ค ์ ์๋ ๋ฌด๊ฒ
list : ํ์ณ์ฌ ๋ณด์๋ค์ ๋ฌด๊ฒ
๋ค ์ ์๋ ๋ฌด๊ฒ k๋ฅผ ์ ๋ ฅ๋ฐ๋๋ค. 2๋ถํฐ (k์ ์ ๊ณฑ๊ทผ+1)๊น์ง ํ์ํ์ฌ ์ฝ์๋ฅผ ์ฐพ๋๋ค. k๊ฐ i๋ก ๋๋ ์ง๋ค๋ฉด ๋๋๊ณ list์ i๋ฅผ ์ ์ฅํ๋ค. i๋ก ๋๋ ์ง์ง ์์ ๋๊น์ง ๋ฐ๋ณตํ๋ค.
๋ง์ฝ ์์ ๊ณผ์ ์ ๋ค ๋๋ธ ํ k๊ฐ์ด 1๋ณด๋ค ํฌ๋ค๋ฉด list ํฌ๊ธฐ +1์ ์ถ๋ ฅํ๋ค. k๊ฐ์ด 1์ด๋ผ๋ฉด list ํฌ๊ธฐ๋ฅผ ์ถ๋ ฅํ๋ค. list๋ฅผ ์ํํ๋ฉด์ ๊ฐ์ ์ถ๋ ฅํ๊ณ ๋ง์ง๋ง์ k๊ฐ์ด 1๋ณด๋ค ํด ๋ k๊ฐ์ ์ถ๋ ฅํ๋ค.
'๐Algorithm > ๐ฅBaekjoon' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Baekjoon] 1835_์นด๋ (0) | 2024.04.03 |
---|---|
[Baekjoon] 1531_ํฌ๋ช (0) | 2024.04.02 |
[Baekjoon] 9440_์ซ์ ๋ํ๊ธฐ (0) | 2024.03.29 |
[Baekjoon] 2594_๋์ด๊ณต์ (0) | 2024.03.28 |
[Baekjoon] 1730_ํํ (1) | 2024.03.27 |