import java.util.*;
class Solution {
public String solution(int[] food) {
String answer = "";
for(int i=0;i<food.length;i++)
{
if(food[i]%2!=0)
{
food[i]-=1;
}
food[i] = food[i]/2;
// System.out.println(food[i]);
}
Deque <Character> deq = new LinkedList<>();
for(int i=1;i<food.length;i++)
{
if(food[i]!=0)
{
for(int j=0;j<food[i];j++)
{
deq.add(Integer.toString(i).charAt(0));
}
}
}
// for(int i=0;i<=food[0];i++)
// {
// deq.add(Integer.toString(0).charAt(0));
// }
deq.add('0');
for(int i=food.length-1;i>=1;i--)
{
if(food[i]!=0)
{
for(int j=0;j<food[i];j++)
{
deq.add(Integer.toString(i).charAt(0));
}
}
}
System.out.println(deq);
System.out.println(deq.size());
int cnt=0;
while(deq.size()!=0)
{
answer+=deq.poll();
}
return answer;
}
}
비효율적으로 길고, for문에서 deq.size()까지 돌렸는데도 NULL값이 있어서 그런지 끝까지 안돌았다.
이유를 잘모르겠네여 ㅠㅠ
프로그래머스 베스트코드
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;
}
}