๋ฌธ์ (์ถ์ฒ: https://www.acmicpc.net/problem/9047)
< 6174 >
๋ฌธ์ ํ์ด
์ ๋ ฌ์ ์ฌ์ฉํด ๋ง๋ค ์ ์๋ ๊ฐ์ฅ ํฐ ์์ ๊ฐ์ฅ ์์ ์๋ฅผ ๊ตฌํด 6174๋ฅผ ๋ง๋ ๋ค.
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.Arrays;
public class _9047_ { // 6174
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());
int result = 0;
String min = "", max = "";
for (int i = 0; i < T; i++) {
String str = bf.readLine();
while (!str.equals("6174")) {
char[] arr = str.toCharArray();
Arrays.sort(arr);
min = String.valueOf(arr);
max = "";
for (int j = min.length() - 1; j >= 0; j--) {
max += min.charAt(j);
}
result += 1;
str = Integer.toString(Integer.parseInt(max) - Integer.parseInt(min));
while (str.length() < 4) {
str = "0" + str;
}
}
bw.write(result + "\n");
result = 0;
}
bw.flush();
}
}
๋ณ์)
T : ํ ์คํธ ์ผ์ด์ค ๊ฐ์
result : ์ฐ์ฐ ์
min, max : ๋ง๋ค ์ ์๋ ๊ฐ์ฅ ์์ ์์ ํฐ ์
ํ ์คํธ ์ผ์ด์ค ์๋ฅผ ์ ๋ ฅ๋ฐ์ ํ ์คํธ ์ผ์ด์ค ์๋งํผ ๋ค์ ๊ณผ์ ์ ๋ฐ๋ณตํ๋ค.
1) ๋ค ์๋ฆฌ ์ ์ ๋ ฅ
2) 6174๊ฐ ์๋ ๋๊น์ง ๋ค์ ๊ณผ์ ๋ฐ๋ณต
2-1) ์ ๋ ฌ์ ์ฌ์ฉํด ๋ง๋ค ์ ์๋ ๊ฐ์ฅ ์์ ์ ๊ตฌํ๊ธฐ
2-2) ๊ฐ์ฅ ์์ ์๋ฅผ ๋ค์ง์ด ๊ฐ์ฅ ํฐ ์ ๊ตฌํ๊ธฐ
2-3) ๊ฐ์ฅ ํฐ ์ - ๊ฐ์ฅ ์์ ์
2-4) ๊ฐ์ด ๋ค ์๋ฆฌ ์๋ณด๋ค ์๋ค๋ฉด ๋ค ์๋ฆฌ๊ฐ ๋ ๋๊น์ง ์์ 0 ์ถ๊ฐ
3) result ์ถ๋ ฅ
'๐Algorithm > ๐ฅBaekjoon' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Baekjoon] 21194_Meditation (0) | 2024.12.03 |
---|---|
[Baekjoon] 6147_Bookshelf (0) | 2024.12.02 |
[Baekjoon] 5462_POI (0) | 2024.11.26 |
[Baekjoon] 6191_Cows on Skates (0) | 2024.11.25 |
[Baekjoon] 6832_Maze (0) | 2024.11.22 |