1. 문제 설명
2. 문제 풀이 핵심이라 생각하는 점
- 길이가 긴 값들 중 가장 큰 값, 길이가 작은 값들 중 가장 큰 값
- 각각의 명함들의 가로와 세로길이 중 긴 쪽을 가로로 재배치
- 가로값 = paramMax 변수로, 세로값은 = paramMin 변수로 비교
- 가로값 중 최댓값, 세로값 중 최댓값
- 최댓값을 모아놓고 그중 최댓값, 최솟값을 모아놓고 그중 최댓값
3. 정답 코드 확인 및 활용 메소드 체크
3-1 : 정답 코드 확인
class Solution {
public int solution(int[][] sizes) {
int max = 0;
int min = 0;
for (int[] size : sizes) {
int paramMax = Math.max(size[0], size[1]);
int paramMin = Math.min(size[0], size[1]);
if (paramMax > max) {
max = paramMax;
}
if (paramMin > min) {
min = paramMin;
}
}
return max * min;
}
}
4. 공부하고 싶은 다른 분의 풀이
- 풀이 방법은 비슷하다.
- Math 메소드를 중복으로 활용하여 코드의 가독성이 더 좋아 보여서 체크해 놓았다.
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;
}
}
'Programmers > JAVA' 카테고리의 다른 글
[ 프로그래머스 ] 소수찾기 - Java (0) | 2023.01.14 |
---|---|
[ ArrayList 생성 ], [ ArrayList 메소드 ], [ ArrayList ↔ List 변경 ] (0) | 2023.01.14 |
[ 프로그래머스 ] 가장 가까운 같은 글자 - Java (0) | 2023.01.13 |
[ 프로그래머스 ] JadenCase 문자열 만들기 - Java (0) | 2023.01.10 |
[ 프로그래머스 ] 마법의 엘리베이터 - Java (0) | 2023.01.06 |