A.P - 최소직사각형 구하기(프로그래머스, L1)

EBinY·2022년 8월 25일
0

AP - Algorithm Problem

목록 보기
46/55
  1. 문제
  • 모든 종류의 명함을 담을 지갑의 사이즈를 구하려고 함
  • 가로가 긴 명함, 세로가 긴 명함이 있을 수 있고, 돌려서 넣어도 됨
  • 가로 * 세로인 넓이를 리턴하자
  1. 수도코드
// 가로와 세로값을 받으면, 큰 값과 작은 값으로 나누어 담고
// 각 값들 중 가장 큰 값을 반환하여, 곱하여서 리턴하자
  1. 결과
function solution(sizes) {
    var answer = 0;
    // 반복문으로 가로세로값을 분류해서 담을 빈 배열을 2개 선언
    let l_num = [];
    let s_num = [];

    // 가로세로값을 분류할 반복문을 작성
    for (let i = 0; i < sizes.length; i++) {
        // 0값이 1값보다 크거나 같으면
        if (sizes[i][0] >= sizes[i][1]) {
            l_num.push(sizes[i][0]);
            s_num.push(sizes[i][1]);
        } else {
            l_num.push(sizes[i][1]);
            s_num.push(sizes[i][0]);
        }
    }
    answer = Math.max(...l_num) * Math.max(...s_num)
    return answer;
}
  1. 레퍼런스
function solution(sizes) {
    const [hor, ver] = sizes.reduce(([h, v], [a, b]) => 
      [Math.max(h, Math.max(a, b)), Math.max(v, Math.min(a, b))], [0, 0])
    return hor * ver;
}

0개의 댓글

관련 채용 정보