알고리즘/PROGRAMMERS

푸드 파이트 대회(Lv.1)

현대타운301 2024. 3. 24. 21:55

 

 


 

문제 설명

 

 

 

입출력 예시

 

 

요약

준비된 음식의 순서대로 먹는 개수만큼 숫자 출력

 


 

풀이

 

접근 방식

1. 각 음식의 개수를 참가자 수인 2로 나눈다.

  → 몫의 크기만큼 해당 음식의 숫자 저장

 

2. 두 번째 참가자 음식 정렬

  → index = length()-1부터 0까지 감소해가며 문자열에 추가

 


 

코드리뷰

 

class Solution {
    public String solution(int[] food) {
        String setting = "";	// 1번 참가자 음식 세팅
        String answer = "";
        for(int i = 1; i < food.length; i++) {
            int count = food[i]/2;
            for(int j = 0; j < count; j++) {	// 2로 나눈 몫만큼 반복해서 해당 음식 숫자 추가
                setting += i;
            }
        }
        answer = setting + "0";	// 1번 참가자 끝나면 물(0) 추가
        int index = setting.length()-1;
        for(int i = index; i >= 0; i--) { // 마지막 index부터 하나씩 감소시키며 2번 참가자 음식 세팅
            answer += setting.charAt(i);
        }
        return answer;
    }
}