๐ก๋ฌธ์ ์ค๋ช
์์
์ด๋ ๋งค๋ฌ ์ฃผ์ด์ง ์์์ ๋นจ๋ฆฌ ๋จน๋ ํธ๋ ํ์ดํธ ๋ํ๋ฅผ ๊ฐ์ตํฉ๋๋ค. ์ด ๋ํ์์ ์ ์๋ค์ 1๋ 1๋ก ๋๊ฒฐํ๋ฉฐ, ๋งค ๋๊ฒฐ๋ง๋ค ์์์ ์ข
๋ฅ์ ์์ด ๋ฐ๋๋๋ค. ๋๊ฒฐ์ ์ค๋น๋ ์์๋ค์ ์ผ๋ ฌ๋ก ๋ฐฐ์นํ ๋ค, ํ ์ ์๋ ์ ์ผ ์ผ์ชฝ์ ์๋ ์์๋ถํฐ ์ค๋ฅธ์ชฝ์ผ๋ก, ๋ค๋ฅธ ์ ์๋ ์ ์ผ ์ค๋ฅธ์ชฝ์ ์๋ ์์๋ถํฐ ์ผ์ชฝ์ผ๋ก ์์๋๋ก ๋จน๋ ๋ฐฉ์์ผ๋ก ์งํ๋ฉ๋๋ค. ์ค์์๋ ๋ฌผ์ ๋ฐฐ์นํ๊ณ , ๋ฌผ์ ๋จผ์ ๋จน๋ ์ ์๊ฐ ์น๋ฆฌํ๊ฒ ๋ฉ๋๋ค.
์ด๋, ๋ํ์ ๊ณต์ ์ฑ์ ์ํด ๋ ์ ์๊ฐ ๋จน๋ ์์์ ์ข
๋ฅ์ ์์ด ๊ฐ์์ผ ํ๋ฉฐ, ์์์ ๋จน๋ ์์๋ ๊ฐ์์ผ ํฉ๋๋ค. ๋ํ, ์ด๋ฒ ๋ํ๋ถํฐ๋ ์นผ๋ก๋ฆฌ๊ฐ ๋ฎ์ ์์์ ๋จผ์ ๋จน์ ์ ์๊ฒ ๋ฐฐ์นํ์ฌ ์ ์๋ค์ด ์์์ ๋ ์ ๋จน์ ์ ์๊ฒ ํ๋ ค๊ณ ํฉ๋๋ค. ์ด๋ฒ ๋ํ๋ฅผ ์ํด ์์
์ด๋ ์์์ ์ฃผ๋ฌธํ๋๋ฐ, ๋ํ์ ์กฐ๊ฑด์ ๊ณ ๋ คํ์ง ์๊ณ ์์์ ์ฃผ๋ฌธํ์ฌ ๋ช ๊ฐ์ ์์์ ๋ํ์ ์ฌ์ฉํ์ง ๋ชปํ๊ฒ ๋์์ต๋๋ค.
์๋ฅผ ๋ค์ด, 3๊ฐ์ง์ ์์์ด ์ค๋น๋์ด ์์ผ๋ฉฐ, ์นผ๋ก๋ฆฌ๊ฐ ์ ์ ์์๋๋ก 1๋ฒ ์์์ 3๊ฐ, 2๋ฒ ์์์ 4๊ฐ, 3๋ฒ ์์์ 6๊ฐ ์ค๋นํ์ผ๋ฉฐ, ๋ฌผ์ ํธ์์ 0๋ฒ ์์์ด๋ผ๊ณ ์นญํ๋ค๋ฉด, ๋ ์ ์๋ 1๋ฒ ์์ 1๊ฐ, 2๋ฒ ์์ 2๊ฐ, 3๋ฒ ์์ 3๊ฐ์ฉ์ ๋จน๊ฒ ๋๋ฏ๋ก ์์์ ๋ฐฐ์น๋ "1223330333221"์ด ๋ฉ๋๋ค. ๋ฐ๋ผ์ 1๋ฒ ์์ 1๊ฐ๋ ๋ํ์ ์ฌ์ฉํ์ง ๋ชปํฉ๋๋ค.
์์
์ด๊ฐ ์ค๋นํ ์์์ ์์ ์นผ๋ก๋ฆฌ๊ฐ ์ ์ ์์๋๋ก ๋ํ๋ด๋ ์ ์ ๋ฐฐ์ด food๊ฐ ์ฃผ์ด์ก์ ๋, ๋ํ๋ฅผ ์ํ ์์์ ๋ฐฐ์น๋ฅผ ๋ํ๋ด๋ ๋ฌธ์์ด์ return ํ๋ solution ํจ์๋ฅผ ์์ฑํด์ฃผ์ธ์.
์ ํ์ฌํญ
- 2 ≤ food์ ๊ธธ์ด ≤ 9
- 1 ≤ food์ ๊ฐ ์์ ≤ 1,000
- food์๋ ์นผ๋ก๋ฆฌ๊ฐ ์ ์ ์์๋๋ก ์์์ ์์ด ๋ด๊ฒจ ์์ต๋๋ค.
- food[i]๋ i๋ฒ ์์์ ์์
๋๋ค.
- food[0]์ ์์
์ด๊ฐ ์ค๋นํ ๋ฌผ์ ์์ด๋ฉฐ, ํญ์ 1์
๋๋ค.
- ์ ๋ต์ ๊ธธ์ด๊ฐ 3 ์ด์์ธ ๊ฒฝ์ฐ๋ง ์
๋ ฅ์ผ๋ก ์ฃผ์ด์ง๋๋ค.
์ ์ถ๋ ฅ ์
| food | result |
| [1,3,4,6] | "1223330333221" |
| [1,7,1,2] | "111303111" |
ํ์ด
import java.util.ArrayList;
import java.util.Collections;
class Solution {
public String solution(int[] food) {
String answer = "";
ArrayList<Integer> list = new ArrayList<>();
for(int i = 1; i < food.length; i++){
int num = food[i] / 2;
if(num >= 1){
for(int j = 0; j < num; j++) list.add(i);
}
}
list.add(0);
for(int i = 0; i < list.size(); i++){
answer += list.get(i);
}
Collections.reverse(list);
for(int i = 1; i < list.size(); i++){
answer += list.get(i);
}
return answer;
}
}
๋ค๋ฅธ ์ฌ๋ ํ์ด
class Solution {
public String solution(int[] food) {
String answer = "0";
for (int i = food.length - 1; i > 0; i--) {
for (int j = 0; j < food[i] / 2; j++) {
answer = i + answer + i;
}
}
return answer;
}
}'Programmers > JAVA' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
| [๋ฐฑ์ค/JAVA] 15552๋ฒ : ๋น ๋ฅธ A+B (0) | 2024.08.05 |
|---|---|
| [JAVA] 2018 KAKAO BLIND RECRUITMENT > [1์ฐจ] ๋น๋ฐ์ง๋ (0) | 2024.06.11 |
| [JAVA] LV2 - ์ต์๊ฐ ๋ง๋ค๊ธฐ (1) | 2024.06.05 |
| [JAVA] - LV1 ์ ๋ ฌ > K๋ฒ์งธ (0) | 2024.06.04 |
| [JAVA] - LV1 - ์์ ํ์ > ์ต์์ง์ฌ๊ฐํ (0) | 2024.06.03 |