티스토리 뷰

[문제]

출처 : https://school.programmers.co.kr
출처 : https://school.programmers.co.kr


[해설]

- 나는 반복문의 노예인가? 풀긴 풀었다.

import java.util.*;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Comparator;

class Solution {
    public String solution(int[] food) {
        String answer = "";
        List<Integer> list = new ArrayList<Integer>();
        List<Integer> list2 = new ArrayList<Integer>();
        for(int i = 0; i < food.length; i++) {
            if(i == 0) {
                // list.add(0);
            } else if(food[i] > 1 &&  i > 0) {
                int mock = food[i] / 2;
                int foodNum = i;
                while(true) {
                    list.add(foodNum);
                    list2.add(foodNum);
                    mock--;
                    if(mock == 0) break;
                }
            }
        }
        list.add(0);
        list2.sort(Comparator.reverseOrder());
        for(int k : list2) {
            list.add(k);
        }
        for(int n : list) {
            answer += n + "";
        }
        return answer;
    }
}

- 다른 사람 풀이 참고, 진짜 깔끔하고 리소스도 훨씬 적게 들었다.

class Solution {
    public String solution(int[] food) {
        String answer = "0";
        for(int i = (food.length - 1); i >= 0; i--) {
            if(food[i] > 1) {
                int mock = food[i] / 2;
                for(int j = 1; j <= mock; j++) {
                    answer = i + answer + i;
                }
            }
        }
        return answer;
    }
}

공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/04   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30
글 보관함