본문 바로가기

프로그래머스

푸드파이터대회

728x90

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;
    }
}

 

728x90

'프로그래머스' 카테고리의 다른 글

삼총사  (0) 2023.01.15
과일 장수  (0) 2023.01.15
3번 뒤집기  (0) 2023.01.12
최대공약수와 최소공배수  (0) 2023.01.12
다리를지나는트럭  (0) 2023.01.10