22.08.18 알고리즘

uub_2·2022년 8월 18일
0

Algorithm

목록 보기
1/2

https://school.programmers.co.kr/learn/courses/30/lessons/86491

내가 생각한 풀이 방법

  1. 2차원 배열의 원소 형식 [w, h] 를 w와 h의 크기를 비교해 큰 것이 앞에 오게 한다.
  2. 전체 배열의 [0],[1]를 비교해서 제일 큰 [0] * [1]을 한다.
  3. 나오는 값이 정답

코드

function solution(sizes) {
    let answer = 0
    let max = sizes.map(([w,h]) => w < h ? [h, w] : [w, h])
    
    let maxSize = Math.max(...max[[0]])
    let minSize = Math.min(...max[[1]])
    
    return answer = maxSize*minSize
    
}

map, 삼항연산자를 이용하여 sizes의 배열을 큰 원소가 앞에, 작은 원소를 뒤로 배치했다.
js Math를 사용해서 [[0]]번째 중 가장 큰 수+ [[1]]번째 중 가장 작은수를 찾아서 곱했는데 2차원 배열이라 그런가.. 내가 생각한 값이랑 다르게 나옴 크흡

찾아본 풀이

가장 나랑 비슷하게 풀어본 사람의 풀이를 찾았다.

const solution = (sizes) => {
    let w = [];
    let h = [];

    sizes.map((v,i) => {
      w[i]=Math.max(...v)
      h[i]=Math.min(...v)
    })

    return Math.max(...w)*Math.max(...h);
  }
profile
우웁이

0개의 댓글