본문 바로가기
프로그래머스/[프로그래머스 - JAVA] Lv.1

[프로그래머스 - JAVA] 푸드 파이트 대회

by 코딩하는 흰둥이 2023. 4. 5.


입출력 예

food result
[1,3,4,6] "1223330333221"
[1,7,1,2] "111303111"

입출력 예 설명

입출력 예 #1

  • 문제 예시와 같습니다.

 

입출력 예 #2

  • 두 선수는 1번 음식 3개, 3번 음식 1개를 먹게 되므로 음식의 배치는  "111303111"입니다.
  •  

  • 내 풀이
class Solution {
    public String solution(int[] food) {
        String answer = "";
        
        for(int i = 1; i<food.length; i++){
            for(int j = 0; j< food[i]/2; j++){
                        answer += i;
            }
            
        }
        answer += "0";

        for(int i = food.length-1; 0 < i; i--){
            for(int j = 0; j< food[i]/2; j++){
                    answer += 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;
    }
}

첫 for문을 역순으로 해서 0을 가운데다 두고 점차 내려가면서 합치는 식

댓글