프로그래머스 Lv.1 최소직사각형
1 2 3 4 5 6 7 8 9 10 11 12 13 | function solution(sizes) { let answer = 0; let max_w = 0; let max_y = 0; for(let i = 0; i < sizes.length; i++) { sizes[i].sort((a, b) => a-b); if(sizes[i][0] > max_w) max_w = sizes[i][0]; if(sizes[i][1] > max_y) max_y = sizes[i][1]; } return max_w * max_y; } | cs |
반복문을
i
가 0부터sizes
의 길이 만큼 반복한다.
sizes
를 오름차순으로 정렬해준다. -> 명함의 가로 세로 상관 없이 짧은 길이와 긴 길이를 구분한다.만약
sizes[i][0]
번째 값이max_w
보다 크다면sizes[i][0]
를max_w
에 할당한다.마찬가지로 만약
sizes[i][1]
번째 값이max_y
보다 크다면sizes[i][1]
를max_y
에 할당한다.가장 큰 w값인
max_w
와 가장 큰 y값인max_y
값을 곱한 값을 return 한다.