꾸준하게
[JS코테] 완전탐색 - 최소직사각형 본문
728x90
반응형
https://school.programmers.co.kr/learn/courses/30/lessons/86491
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
모든 명함의 가로 길이와 세로 길이를 나타내는 2차원 배열 sizes가 매개변수로 주어집니다. 모든 명함을 수납할 수 있는 가장 작은 지갑을 만들 때, 지갑의 크기를 return 하도록 solution 함수를 완성해주세요.
[나의풀이]
function solution(sizes) {
let sizesOrder = sizes.map(x => x.sort((a,b) => a-b));
let sizesShort = Math.max(...sizesOrder.map(x => x[0]));
let sizesLong = Math.max(...sizesOrder.map(x => x[1]));
return sizesShort * sizesLong;
}
function solution(sizes) {
// sizes를 오름차순으로 재정렬한 sizesOrder 선언
let sizesOrder = sizes.map(x => x.sort((a,b) => a-b));
// 짧은 쪽 중 가장 긴 길이
let sizesShort = Math.max(...sizesOrder.map(x => x[0]));
// 긴 쪽 중 가장 긴 길이
let sizesLong = Math.max(...sizesOrder.map(x => x[1]));
return sizesShort * sizesLong;
}
[다른풀이]
function solution(sizes) {
// 배열 sizes의 이중배열을 오름차순으로 재배열
const rotated = sizes.map(([w, h]) => w < h ? [h, w] : [w, h]);
// maxSize 배열을 미리 선언
let maxSize = [0, 0];
// rotated의 각 요소의 index 0, index 1인 수가 각각 w, h보다 크면 대입
rotated.forEach(([w, h]) => {
if (w > maxSize[0]) maxSize[0] = w;
if (h > maxSize[1]) maxSize[1] = h;
})
return maxSize[0]*maxSize[1];
}
# forEach
https://semoal24.tistory.com/44
[JS] Array - 배열 관련 정리
length Array.length 배열의 길이 reduce Array.reduce((acc, curr) => 함수식, in) acc : 이전 curr을 함수식에 대입하여 받아낸 값. curr : 현재 input할 값. in : acc의 초기값 ex. 배열의 모든 요소를 더한 값 array.reduce((a
semoal24.tistory.com
728x90
반응형
'JS코딩테스트' 카테고리의 다른 글
[JS코테] 크기가 작은 부분 문자열 (0) | 2023.05.16 |
---|---|
[JS코테] 2018 KAKAO BLIND RECRUITMENT[1차] - 비밀지도 (0) | 2023.05.12 |
[JS코테] 삼총사 (0) | 2023.05.09 |
[JS코테] 시저 암호 (0) | 2023.05.08 |
[JS코테] Summer/Winter Coding(~2018) - 예산 (0) | 2023.05.07 |