Tags
- greedy
- ์๋ฎฌ๋ ์ด์
- Python
- sort
- LV2
- ์ ๋ ฌ
- ๊ตฌํ
- CodingTest
- ์๋ฃ๊ตฌ์กฐ
- SpringBoot
- BFS
- queue
- Java
- Study
- dfs
- stack
- ๊ต์ฌ
- DP
- ์ํ
- ๋๋น ์ฐ์ ํ์
- ๋ฌธ์์ด
- ๊น์ด ์ฐ์ ํ์
- BOJ
- ๊ทธ๋ํ ํ์
- ์ ์๋ก
- Brute Force Algorithm
- ๋ฐฑํธ๋ํน
- PGM
- Dynamic Programming
- ๊ทธ๋ํ ์ด๋ก
Archives
๊ธฐ๋ก๋ฐฉ
BOJ_2312 : ์ ๋ณต์ํ๊ธฐ ๋ณธ๋ฌธ
๐ธ ๋ฌธ์ ๋ถ์ ๐ธ
- ์์ ์ ์ N์ด ์ฃผ์ด์ง๋ฉด ์์ธ์ ๋ถํด ๊ฒฐ๊ณผ๋ฅผ ์ถ๋ ฅํ๋ค.
- 2๋ถํฐ N๊น์ง ๋๋๋ฉฐ, ๋ชซ์ด 1์ด ๋ ๋๊น์ง ๋ฐ๋ณตํ๋ค.
- ๋๋ ์๋ฅผ ์นด์ดํธํ๋ค
- ์นด์ดํธํ ๋๋ ์ ๋ค์ค์์ ๊ฐ์ด 1 ์ด์์ธ ๊ฒ๋ค๋ง ์ถ๋ ฅํ๋ค.
๐ธ ์ฝ๋ ๐ธ
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int tc = sc.nextInt();
StringBuilder sb = new StringBuilder();
for (int t = 0; t < tc; t++) {
int n = sc.nextInt();
int[] arr = new int[n+1];
int temp = n, pt = 2;
while (temp > 1) {
if (temp % pt == 0) {
arr[pt]++;
temp /= pt;
}
else {
pt++;
}
}
for (int i = 2; i < n+1; i++) {
if (arr[i] > 0) {
sb.append(i + " " + arr[i] + "\n");
}
}
}
sb.deleteCharAt(sb.length()-1);
System.out.print(sb);
}
}
๐ธ ์ฝ๋ ํด์ ๐ธ
- temp์ ์ด๊ธฐ๊ฐ์ผ๋ก n์ ์ ์ฅํ๋ค.
- temp๊ฐ 1์ด ๋ ๋๊น์ง ๊ณ์ฐ์ ๋ฐ๋ณตํ๋ค.
- temp๋ฅผ pt๋ก ๋๋ 0์ด๋๋ฉด arr[pt]์ ๊ฐ์ 1 ์ฆ๊ฐ์ํจ๋ค.
- temp๊ฐ์ pt๋ก ๋๋ ๋ชซ์ผ๋ก ๋ณ๊ฒฝํ๋ค.
- ๋๋ ์ 0์ด ๋์ง ์์ผ๋ฉด pt๋ฅผ +1 ์ํจ๋ค.
- temp๋ฅผ pt๋ก ๋๋ 0์ด๋๋ฉด arr[pt]์ ๊ฐ์ 1 ์ฆ๊ฐ์ํจ๋ค.
- arr ์ค์ ๊ฐ์ด 1 ์ด์์ธ ๊ฒฝ์ฐ๋ง ์ถ๋ ฅํ๋ค.
๐ธ end ๐ธ
- ๊ฐ๋จํ ํ์๋ ๊ฒ ๊ฐ์๋ฐ, ์๋ผํ ์คํ ๋ค์ค์ ์ฒด๋ก๋ ํ ์ ์๋ ๊ฒ ๊ฐ๋ค.
728x90
'CodingTest > Java' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
BOJ_1954 : ํํ์คํ (0) | 2023.02.10 |
---|---|
BOJ_1992 : ์ฟผ๋ํธ๋ฆฌ (0) | 2023.02.10 |
BOJ_7507 : ์ฌ๋ฆผํฝ ๊ฒ์ (0) | 2023.02.07 |
BOJ_2630 : ์์ข ์ด ๋ง๋ค๊ธฐ (0) | 2023.02.05 |
BOJ_7569 : ํ ๋งํ (0) | 2023.02.03 |