Tags
- SpringBoot
- BFS
- LV2
- ์๋ฎฌ๋ ์ด์
- BOJ
- Brute Force Algorithm
- Study
- Dynamic Programming
- ๊ตฌํ
- ์๋ฃ๊ตฌ์กฐ
- DP
- ๋ฐฑํธ๋ํน
- ์ ๋ ฌ
- ๊น์ด ์ฐ์ ํ์
- ์ํ
- ๋ฌธ์์ด
- ๋๋น ์ฐ์ ํ์
- stack
- ์ ์๋ก
- Java
- greedy
- Python
- sort
- CodingTest
- ๊ต์ฌ
- ๊ทธ๋ํ ์ด๋ก
- PGM
- dfs
- queue
- ๊ทธ๋ํ ํ์
Archives
๊ธฐ๋ก๋ฐฉ
BOJ_4673 : ์ ํ ๋๋ฒ ๋ณธ๋ฌธ
๐ธ ๋ฌธ์ ๋ถ์ ๐ธ
- 10000 ์ดํ์ ์ ํ๋๋ฒ๋ฅผ ์ถ๋ ฅํ๋ค.
๐ธ ์ฝ๋ ๐ธ
public class Main {
public static void main(String[] args) {
final int MAX = 10000;
boolean arr[] = new boolean[MAX+1];
for (int i = 1; i <= MAX; i++){
int j = i;
if (!arr[j]){
while (true){
int temp = j;
for (String s : Integer.toString(j).split(""))
temp += Integer.parseInt(s);
if (temp < MAX){
arr[temp] = true;
j = temp;
}
else break;
}
}
}
for (int j = 1; j < MAX; j++){
if (!arr[j]) System.out.println(j);
}
}
}
๐ธ ์ฝ๋ ํด์ ๐ธ
- ์ธ๋ฑ์ค๋ก ์ ํ ๋๋ฒ๋ฅผ ์ฒดํฌํ๋ boolean ๋ฐฐ์ด arr๋ฅผ 10001ํฌ๊ธฐ๋ก ์ ์ธํ๋ค.
- 1๋ถํฐ 10000๊น์ง i๋ฅผ ์ฆ๊ฐ์ํค๋ฉฐ ์
ํ ๋๋ฒ๋ฅผ ๊ณ์ฐํ๋ค.
- arr[j]๊ฐ false๋ฉด j๋ถํฐ 10000๊น์ง ์ ํ๋๋ฒ ์์ด์ ๊ณ์ฐํด arr์ ์ฒดํฌํ๋ค.
- true๋ฉด ์ด๋ฏธ ๊ณ์ฐํ๋ ์์ด์ด๋ฏ๋ก ๋น ์ ธ๋๊ฐ๋ค.
๐ธ end ๐ธ
- while๋ฌธ ์์ if๋ฌธ์ else๋ฌธ์ ๋นผ๋ ์์ผ๋ก ๋ฐ๊ฟจ์ผ๋ฉด ์ข์์ ๊ฒ ๊ฐ๋ค.
- if๋ฌธ๋ MAX ๋ฏธ๋ง์ผ๋ก ์ฒดํฌํ ๊ฒ์ด ์ค๋ฅ์ด๋ค. ์ฐ์ฐํ 10000์ด ์ ํ ๋๋ฒ๊ฐ ์๋์ด์ ๋ง์์ง๋ง, ๋ฌธ์ ์กฐ๊ฑด์ผ๋ก๋ 10000๋ ํ์ธํด์ผ ํ๋ค.
- ์ถ๋ ฅ์์๋ MAX ๋ฏธ๋ง์ผ๋ก ํด์ ํต๊ณผ๋์๋ค.
728x90
'CodingTest > Java' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
BOJ_1427 : ์ํธ์ธ์ฌ์ด๋ (0) | 2022.09.30 |
---|---|
BOJ_2581 : ์์ (0) | 2022.09.29 |
BOJ_1253 : ์ข๋ค (0) | 2022.09.24 |
BOJ_1940 : ์ฃผ๋ชฝ (0) | 2022.09.24 |
BOJ_2018 : ์๋ค์ ํฉ 5 (0) | 2022.09.24 |