코딩 테스트/프로그래머스

C# 최소직사각형

s0002 2023. 1. 19. 18:53

문제에서 제시한 것처럼 2차원 배열을 입력받아서 메서드에 넣고 싶었는데

어떻게 해야할지 모르겠어서 메인함수에 테스트 케이스를 정해둔 형태를 바탕으로 작성했다 

 

모든 가로 길이가 각각의 세로 길이보다 길게 만들어주고

가로 길이 중 가장 큰 값과 세로 길이 중 가장 큰 값을 곱해서 반환하게 했다

반환값을 따로 출력하진 않는다

using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;

namespace Rectangle
{
    class Program
    {
        static void Main()
        {
            int[,] arr =
            {
                { 60, 50 },
                { 30, 70 },
                { 60, 30 },
                { 80, 40 }
            };
            new Solution().solution(arr);
        }
    }

    public class Solution
    {
        public int solution(int[,] sizes)
        {
            int answer = 0;
            //여기서 부터 코드 작성 

            int maxWideth;
            int maxHeight;
            
            //가로의 길이를 저장할 배열, 세로의 길이를 저장할 배열 따로 만들기
            int[] wideths = new int[sizes.GetLength(0)];
            int[] heights = new int[sizes.GetLength(0)];

            for (int j = 0; j < sizes.GetLength(0); j++)
            {
                wideths[j] = sizes[j, 0];
                heights[j] = sizes[j, 1];
                int t;

                //가로의 길이가 세로의 길이보다 길게 통일해준다(회전)
                if (heights[j] > wideths[j])
                {
                    t = heights[j];
                    heights[j] = wideths[j];
                    wideths[j] = t;
                }
            }
            //answer=가로 길이 중 제일 큰 것*세로 길이 중 제일 큰 것
            maxWideth = wideths.Max(); 
            maxHeight = heights.Max();
            answer = maxWideth * maxHeight;

            return answer;
        }                 
    }
}

 

참고

https://cosmosproject.tistory.com/541

 

C# : Array Max, Min, Sum, Average (Array의 최대값, 최소값, 합, 평균 얻기)

Array에 적용할 수 있는 함수 중 Max, Min, Sum이 있습니다. 바로 예시를 봅시다. using System; using System.Linq; class MyProgram { static void Main() { int[] test_arr = { 1, 2, 3, 4, 5 }; Console.WriteLine(test_arr.Max()); Console.Write

cosmosproject.tistory.com

 

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

 

프로그래머스

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

programmers.co.kr

 

'코딩 테스트 > 프로그래머스' 카테고리의 다른 글

C# 옹알이 (1)  (0) 2023.01.21
C# 완주하지 못한 선수  (0) 2023.01.20