코딩테스트/Programmers

최소직사각형 (JS)

동띵 2024. 6. 2. 12:18

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

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

function solution(sizes) {
    const maxLen = Math.max(...sizes.flat());
    let minLen = 0;
    sizes.forEach(size => {
        minLen = Math.max(minLen, Math.min(size[0], size[1]));
    })
    return maxLen*minLen;
}

 

가장 먼저 flat을 사용해 이중 배열 값 중 최대 길이를 구했다.
최대 길이 방향에 반대 (ex. 최대 길이가 가로라면 세로) 값을 구하기 위해
sizes 배열을 돌며 각 길이의 최솟값을 구하고 (회전이 가능하므로 둘 중 큰 값을 최대 길이와 같은 방향이라고 판단)
구한 최솟값 중 최댓값을 구해 반대 방향 길이를 구한 후 이 둘을 곱해 넓이를 구해주었다.

'코딩테스트 > Programmers' 카테고리의 다른 글

방문 길이 (JS)  (0) 2025.01.05
실패율 (JS)  (0) 2025.01.05
소수 찾기 (JS)  (0) 2024.06.02
12세 이하인 여자 환자 목록 출력하기 (MySQL)  (0) 2024.01.10
조건에 맞는 도서 리스트 출력하기 (MySQL)  (2) 2024.01.09