문제 풀기/C#

51. 푸드 파이트 대회

kagan-draca 2025. 2. 5. 14:12

 

기본 틀 :

 

using System;

public class Solution {
    public string solution(int[] food) {
        string answer = "";
        return answer;
    }
}

 

문제의 글이 길고 문제가 어려워 보일 수 있지만 막상 코드를 작성해보면 쉬운 문제였다.

 

먼저, 결과를 담을 string 변수 result를 만들면서 "0"으로 초기화 해준다.

 

그리고 반복문을 이용해 매개변수로 주어진 int 형 배열을 순회할 것인데

 

food.Length - 1 ~ 1까지 배열을 뒤에서부터 순회를 시켜줄 생각이다.

 

반복문 안에서는

 

food[i] = food[i] / 2;

 

를 해주어 food[i]가 홀수 개이면 짝수로 만듬과 동시에 짝수의 개수가 몇 개인지 구한다.

 

이렇게 구해진 짝수의 개수를 이용해 0 ~ 짝수의 개수 만큼 반복문을 수행해준다.

 

그리고, 그 반복문 안에는

 

result = 짝수 개수 + result + 짝수 개수

 

로 양쪽 플레이어가 먹을 수 있는 음식을 배치해준다.

 

using System;

public class Solution 
{
    public string solution(int[] food) 
    {
        string result = "0";
        for(int i = food.Length - 1; i >= 1; i--)
        {
            food[i] = food[i] / 2;
            for(int j = 0; j < food[i]; j++)
                result = i + result + i;
        }
        return result;
    }
}