풀이 방법
위클리 챌린지 8주차 문제로 보니까 간단한 문제길래 빠르게 풀었다.
명함들을 차례대로 지갑에 넣어줄때마다 회전시키면서 작은 쪽으로 넣어주었다.
내 코드
import java.util.*;
class Solution {
public int solution(int[][] sizes) {
int array[] = {0, 0};
for(int i = 0;i< sizes.length; i++){
int w1 = Math.max(array[0], sizes[i][0]);
int h1 = Math.max(array[1], sizes[i][1]);
int w2 = Math.max(array[0], sizes[i][1]);
int h2 = Math.max(array[1], sizes[i][0]);
if(w1 * h1 <= w2 * h2){
array[0] = w1;
array[1] = h1;
}else {
array[0] = w2;
array[1] = h2;
}
}
return array[0] * array[1];
}
}
다른 사람 풀이
class Solution {
public int solution(int[][] sizes) {
int length = 0, height = 0;
for (int[] card : sizes) {
length = Math.max(length, Math.max(card[0], card[1]));
height = Math.max(height, Math.min(card[0], card[1]));
}
int answer = length * height;
return answer;
}
}
다른 사람들은 가로랑 세로를 작은쪽 큰쪽으로 구분해서 풀이했다.
'코딩테스트 > [프로그래머스] 코딩테스트 연습' 카테고리의 다른 글
카카오프렌즈 컬러링북 (0) | 2021.10.08 |
---|---|
전력망을 둘로 나누기 (0) | 2021.10.07 |
입실 퇴실 (0) | 2021.09.17 |
실패율 (0) | 2021.09.13 |
후보키 (0) | 2021.09.13 |