๋ค์ด๊ฐ๊ธฐ ์์
๋ชจ๋ฐ์ผ๋ฆฌ๋ ์ฝ๋ฉ ํ
์คํธ๋ฅผ ์ค๋นํ๋ฉด์ ๋ง๋ ๋๋ฅด์์์ฆ ์๋ ๊ต์ฅํ ํฅ๋ฏธ๋ก์ด ๋ฌธ์ ์๋ค.
์ธ์ ๊ฐ๋ ๊ผญ ๊ธฐ๋กํด์ผ์ง ํ๋๋ฐ ์ฝ๋ฉ ํ
์คํธ๋ฅผ ๋ณธ์ง 2์ฃผ ํ์ ์ด๋ ๊ฒ ๊ธฐ๋กํ๊ฒ ๋์๋ค.
๊ทผ๋ฐ ์ด๋ค ์๊ณ ๋ฆฌ์ฆ์ผ๋ก ์ด ๋ฌธ์ ๋ฅผ ์ ์ ๋ด๋ฆด ์ ์์์ง.. ์ ๋ชจ๋ฅด๊ฒ ๋ค.๐ต
๋๋ฅด์์์ฆ ์?
๋๋ฅด์์์ฆ ์๋ n์ ๋ชจ๋ ์๋ฆฌ์์ k ์ ๊ณฑ์ ํ๊ณ ๋ํ ๊ฐ์ด n๊ณผ ๊ฐ์ ๊ฒฝ์ฐ ๋๋ฅด์์์ฆ ์๋ผ๊ณ ํ๋ค. ํน์ ์์๋์ทจ ์.
์ฐ๋ฆฌ๋๋ผ์์ ๋๋ฅด์์์ฆ ์ ํน์ ์์๋์ทจ ์๋ก ๊ตฌ๊ธ์ ๊ฒ์ํ๋ฉด ์ฌ๋ฆฌํ์ ๋ํ ๋ถ๋ถ์ด ๋ง์ด ๋์์ ์์ด๋ก ๊ฒ์ ํด์ผ ํ๋ค.
๋ฌธ์
(ํ๋ก์ ํธ๋ก ์งํํ๋ Arori์ ๋ฌธ์ ๋ฅผ ์์ฑํด์ ๊ณต๋ถํ๋ค. ๊ฝค๋ ์ ์ฌ์ฉํ๋ ์ค!)
์ด๋ค ์๋ฆฌ ์ k๊ฐ ์ฃผ์ด์ก์ ๋ ๊ฐ ์๋ฆฟ์์ k ์ ๊ณฑ์ ํฉ์ด ์๋ ์๊ฐ ๋๋ ์๋ฅผ ์์๋์ทจ ์๋ผ๊ณ ํฉ๋๋ค. ์๋ฅผ ๋ค์ด 153์ ์ธ ์๋ฆฌ ์์๋์ทจ ์์ ๋๋ค.
์์ฐ์ k๊ฐ ๋งค๊ฐ๋ณ์๋ก ์ฃผ์ด์ง ๋ k ์๋ฆฌ ์์๋์ทจ ์๋ค์ ๋ฐฐ์ด์ ์ค๋ฆ์ฐจ์์ผ๋ก ๋ด์ return ํ๋๋ก solution ๋ฉ์๋๋ฅผ ์์ฑํ๋ ค ํฉ๋๋ค.๋น์นธ์ ์ฑ์ ์ ์ฒด ์ฝ๋๋ฅผ ์์ฑํด์ฃผ์ธ์.
๋งค๊ฐ๋ณ์ ์ค๋ช
k๊ฐ solution ๋ฉ์๋์ ๋งค๊ฐ๋ณ์๋ก ์ฃผ์ด์ง๋๋ค.
- k๋ 3 ์ด์ 6 ์ดํ์ธ ์์ฐ์์ ๋๋ค.
return ๊ฐ ์ค๋ช
k ์๋ฆฌ ์์๋์ทจ ์๋ฅผ ์ค๋ฆ์ฐจ์์ผ๋ก ์ ๋ ฌํ ๋ค ๋ฐฐ์ด์ ๋ด์ return ํฉ๋๋ค.
์์
k | return |
---|---|
3 | [153, 370, 371, 407] |
์์ ์ค๋ช
- 153 = 1^3 + 5^3 + 3^3 = 1 + 125 + 27 = 153
- 370 = 3^3 + 7^3 + 0^3 = 27 + 343 + 0 = 370
- 371 = 3^3 + 7^3 + 1^1 = 27 + 343 + 1 = 371
- 407 = 4^3 + 0^3 + 7^3 = 64 + 0 + 343 = 407
ํ์ด
์ค๋ช
- ๋จผ์ ์์ฐ์
k
๋n
์ ์๋ฆฟ์์ ์ ๊ณฑ๊ฐ์ธ ๊ฒ๊ณผ ๋์์n
์ ์๋ฆฟ์๊ฐ ๋ช ๊ฐ์ธ์ง ์ ์ ์๋ ์์ด๋ค. power()
๋ฉ์๋๋k
๋งํผ ๋ฐ๋ณตํ์ฌ ๊ฐ ์๋ฆฌ์์ ์์ฐ์๋ฅผ ์ ๊ณฑ๊ฐ์ด ์ผ๋ง์ธ์ง ๊ตฌํด์ฃผ๋ ๋ฉ์๋์ด๋ค.
์ฝ๋
package ๋ชจ๋ฐ์ผ๋ฆฌ๋_์ฝ๋ฉํ
์คํธ_04;
import java.util.*;
public class question_06 {
public int power(int base, int exponent) {
int val = 1;
for (int i = 0; i < exponent; i++) {
val *= base;
}
return val;
}
public int[] solution(int k) {
// k๋ฅผ ํตํด ์ต๋ ๋ฒ์๋ฅผ ๊ตฌํ๋ค.
int range = power(10, k);
int[] answer = new int[range];
int count = 0;
// ๋๋ฅด์์์ฆ ์๋ range ๋ฒ์ ์์ ์กด์ฌํ๋ค.
for (int i = range / 10; i < range; i++) {
int current = i;
int cal = 0;
// i์ ๋ํ ๊ฐ ์๋ฆฌ์์ k์ ๊ณฑ ๊ฐ์ ๊ตฌํ๋ค.
// ๊ฐ ์๋ฆฌ์์ k์ ๊ณฑ ๊ฐ์ ๋ชจ๋ ํฉํ ๊ฐ == cal ์ด๋ค.
while(current != 0) {
cal += power(current % 10, k);
current /= 10;
}
// i์ ๋ํ ๊ฐ ์๋ฆฌ์์ k์ ๊ณฑ ๊ฐ์ ๋ชจ๋ ํฉํ ๊ฐ์ด
// i์ ๊ฐ๋ค๋ฉด ๊ทธ ์๋ ๋๋ฅด์์์ฆ ์์ด๋ค.
if(cal == i) {
answer[count] = i;
count++;
}
}
int[] ret = new int[count];
for(int i = 0; i < count; i++) {
ret[i] = answer[i];
}
return ret;
}
// ์๋๋ ํ
์คํธ์ผ์ด์ค ์ถ๋ ฅ์ ํด๋ณด๊ธฐ ์ํ main ๋ฉ์๋์
๋๋ค.
public static void main(String[] args) {
question_06 sol = new question_06();
int k = 3
int[] ret = sol.solution(k);
// ์คํ] ๋ฒํผ์ ๋๋ฅด๋ฉด ์ถ๋ ฅ๊ฐ์ ๋ณผ ์ ์์ต๋๋ค.
System.out.printf("solution ๋ฉ์๋์ ๋ฐํ ๊ฐ์ ");
System.out.printf(Arrays.toString(ret));
System.out.printf(" ์
๋๋ค.\n");
}
}
'Algorithm' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
Cos Pro 1๊ธ | ๋น์์ด ์ด๋ ๊ฐ๋ฅํ ์นธ ๊ฐ์ ์ฐพ๊ธฐ (0) | 2020.12.10 |
---|---|
Cos Pro 1๊ธ | ๋ฌธ์์ด ํฉ์ฑํ๊ธฐ, ์์ ํ์ (0) | 2020.12.10 |
๋ฐฑ์ค 1322 | ๋นํธ ์ฐ์ฐ, X์ K (0) | 2020.11.25 |
๋ฐฑ์ค 1158 | Queue, ์์ธํธ์ค ๋ฌธ์ (0) | 2020.11.25 |
๋ฐฑ์ค 10816 | ์ซ์ ์นด๋ 2 (0) | 2020.11.07 |