728x90
728x90
잠이 안와서 간만에 하나 풀어봄
1. 문제설명
https://programmers.co.kr/learn/courses/30/lessons/86491
2. 접근방법
음 뭐 별 고민 없이 풀긴했다.
명함을 가로로 돌릴수 있다는 게 흥미로웠음
결국 그냥 배열안의 두수를 비교해서
큰거는 index: 0 에 다가
작은거는 index: 1 에다가 박아두고,
for문으로 index: 0 에있는 애들중에 제일 큰애
index: 1 에 있는 애들 중에 제일 큰애 두개 구해서
곱해주면 된다.
3. 코드
const sizes = [
[60, 50],
[30, 70],
[60, 30],
[80, 40],
];
function solution(sizes) {
const x = [];
const y = [];
sizes
.map((v) => v.sort((a, b) => b - a)) //
.forEach((v) => {
x.push(v[0]);
y.push(v[1]);
});
return Math.max(...x) * Math.max(...y);
}
console.log(solution(sizes)); // 4000
x, y 로 변수 잡고 빈배열 할당해준 뒤에,
sizes에 map 으로 sort 돌려서 오름차순으로 정렬해주고,
forEach 로 loop 돌려서,
index : 0 인 애들은 x에
index: 1 인 애들은 y에 박아뒀다.
그리고 Math.max 랑 spread 연산자 써서,
제일 큰 숫자 두개 골라서 리턴해줌
매우 간단.
728x90
728x90
'문제풀이 > 프로그래머스' 카테고리의 다른 글
[Javascript] 3진법 뒤집기 (0) | 2022.01.04 |
---|---|
[Javascript] 예산 (0) | 2022.01.04 |
[Javascript]크레인 인형뽑기 게임 (0) | 2022.01.04 |
[Javascript] 폰켓몬 (0) | 2022.01.04 |
모의고사 (0) | 2021.12.28 |
댓글