문제 풀기/C#

44. 최소 직사각형

kagan-draca 2025. 1. 24. 14:41

 

기본틀 ) 

using System;

public class Solution {
    public int solution(int[,] sizes) {
        int answer = 0;
        return answer;
    }
}

 

가로 길이와 세로 길이를 비교해서

 

큰 값은 가로에, 작은 값은 세로에 저장 하도록 변경해준다.

 

그 다음 모든 가로 길이 중에서 가장 큰 값과 모든 세로 길이 중에서

 

가장 큰 값을 곱 한 넓이를 반환해준다.

 

이를 코드로 구현할 때 간단하게 표현하는 방법으로는

 

 Math.Max()와 Math.Min()을 활용하면 좋다.

 

using System;

public class Solution {
    public int solution(int[,] sizes) 
    {
        int width = 0, height = 0;
        for(int i = 0; i < sizes.GetLength(0); i++)
        {
            width = Math.Max(width,Math.Max(sizes[i, 0], sizes[i, 1]));
            height = Math.Max(height,Math.Min(sizes[i, 0], sizes[i, 1]));
        }
        return width * height;
    }
}