728x90
▶문제 : 코딩 테스트 연습 - 최소 직사각형 | 프로그래머스 (programmers.co.kr)
▶코드 작성
#include <stdio.h>
#include <stdbool.h>
#include <stdlib.h>
// sizes_rows는 2차원 배열 sizes의 행 길이, sizes_cols는 2차원 배열 sizes의 열 길이입니다.
int solution(int **sizes, size_t sizes_rows, size_t sizes_cols)
{
int answer = 0;
int width = 0, height = 0, temp;
for (int i = 0; i < sizes_rows; i++)
{
if (sizes[i][0] < sizes[i][1])//큰 값을 가로로 바꿔준다
{
temp = sizes[i][0];
sizes[i][0] = sizes[i][1];
sizes[i][1] = temp;
}
if (sizes[i][0] > width) width = sizes[i][0];//가로 최대값
if (sizes[i][1] > height) height = sizes[i][1];//세로 최대값
}
answer = width * height;
return answer;
}
▶해석
반복문을 돌려서 가로, 세로 가 있으면 더 큰 값을 가로에 넣고 width 변수가 가로 최댓값, height 변수가 세로 최댓값으로 구해서 둘이 곱하여 최소 직사각형이 나온다.
728x90
'프로그래머스 > C' 카테고리의 다른 글
프로그래머스 Level 1 : 2016년 C언어 (0) | 2021.11.28 |
---|---|
프로그래머스 Level 1 : 두 개 뽑아서 더하기 C언어 (2) | 2021.11.28 |
프로그래머스 Level 1 : 수박수박수박수박수박수? C언어 (0) | 2021.11.28 |
프로그래머스 Level 1 : 3진법 뒤집기 C언어 (3) | 2021.11.26 |
프로그래머스 Level 1 : 약수의 개수와 덧셈 C언어 (0) | 2021.11.26 |
댓글