반응형
https://school.programmers.co.kr/learn/courses/30/lessons/86491
풀이
명함을 옆으로 돌려서 넣을 수 있다는 가정이 있기 때문에 가로, 세로 값이 아닌 각 명함의 큰 값과 작은 값으로 나누는게 좋다.
1. 각 명함의 크기에 큰 값과 작은 값으로 구분한다.
2. 가로 (큰 값)을 비교하면서 가장 큰 값을 찾는다.
3. 세로 (작은 값)을 비교하면서 가장 큰 값을 찾는다.
4. 가로 (큰 값) 과 세로 (작은 값)을 곱해서 지갑의 크기를 구한다.
class Solution {
public int solution(int[][] sizes) {
int big = 0;
int small = 0;
int temp = 0;
for (int i=0; i<sizes.length; i++) {
// 큰 값과 작은 값으로 나누기
if (sizes[i][1] > sizes[i][0]) {
temp = sizes[i][1];
sizes[i][1] = sizes[i][0];
sizes[i][0] = temp;
}
if (sizes[i][0] > big) {
big = sizes[i][0];
}
if (sizes[i][1] > small) {
small = sizes[i][1];
}
}
return big * small;
}
}
반응형
'알고리즘 > 프로그래머스' 카테고리의 다른 글
[프로그래머스]JAVA - Level1. 소수 만들기 (0) | 2022.09.05 |
---|---|
[프로그래머스]JAVA - Level1. 신고 결과 받기 (0) | 2022.09.04 |
[프로그래머스]JAVA - Level1. 같은 숫자는 싫어 (0) | 2022.09.01 |
[프로그래머스]JAVA - Level2. 가장 큰 수 (0) | 2022.09.01 |
[프로그래머스]JAVA - Level2. 기능 개발 (0) | 2022.08.30 |