본문 바로가기
코딩테스트/프로그래머스

[프로그래머스 Lv.1 C#] 푸드파이트 대회

by 으얏 2022. 12. 9.

https://school.programmers.co.kr/learn/courses/30/lessons/134240

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

입출력 예를 보면 다음과 같습니다.

[1, 3, 4, 6]  "1223330333221"

[1, 7, 1, 2]  "111303111"

 

예제 1부터 차례대로 보시면 food[0] 은 항상 1이기 때문에 1이 고정으로 들어가있고 

그 다음은 food[1]은 3개, food[2]은 4개, food[3]은 6개입니다.

food[i]은 짝수개만 사용하기때문에 food[1]은 2개만 사용하고 1개는 버려집니다.

 

예제 2도 위와 동일하게 사용하여서 [1]은 6개, [2]는 1개이기 때문에 버려지고 [3]은 2개 입니다. 

 

답으로 접근하기 위해 간단히 생각해보면,

숫자들이 배열되어있고 0을 기준점으로 다시 숫자들이 역으로 배열됩니다.

 

그래서 앞의 숫자들을 먼저구하고 먼저구한 숫자를 역으로 나열해서 문제를 풀었습니다.

using System;
using System.Linq;

namespace Test2
{
    public class Class2
    {
        static void Main(string[] args)
        {
            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.ToString();                       
                    }
                }
                string reanswer = new string(answer.Reverse().ToArray());
                answer += "0" + reanswer; 

                return answer;
            }
        }
    }
}

 

 

 

댓글