728x90
문제
정수 배열 numbers가 매개변수로 주어집니다. numbers의 원소 중 두 개를 곱해 만들 수 있는 최댓값을 return하도록 solution 함수를 완성해주세요.
해결 과정
function solution(numbers) {
let answer = [];
let temp = 0;
let temp2;
let numSort;
let realAnswer=1;
for(let i = 0; i <=1; i++) {
numSort = numbers.sort(function(a, b) {
return a-b;
});
temp = numSort.pop();
temp2 = answer.push(temp);
}
for(let i = 0; i < answer.length; i++) {
realAnswer *= answer[i];
}
return realAnswer;
}
numbers의 배열을 오름차순으로 정렬한다. 그뒤에 배열을 pop으로 꺼낸다음에 빈배열인 temp2에 저장해둔다.
그리고 push해서 저장한 배열을 반복하기 위해서 for문을 이용해 realAnswer에 곱해 저장해준다.
새롭게 알게된 점
function solution(numbers) {
numbers.sort((a,b)=>b-a);
return numbers[0]*numbers[1];
}
오름차순이 아닌 내림차순으로 배열을 정렬한다음 numbers의 첫번째와 두번째 원소를 곱해서 훨씬 간단하게 코드를 작성할 수 있었다.
728x90
'⌨️ 프로그래머스 > 코딩테스트 입문' 카테고리의 다른 글
[프로그래머스] 문자열 정렬하기(1) | JS (0) | 2024.07.22 |
---|---|
[프로그래머스] 모음 제거 | JS (0) | 2024.07.22 |
[프로그래머스] 합성수 찾기 🔢 | JS (0) | 2024.07.15 |
[프로그래머스] 주사위의 개수 🎲 | JS (0) | 2024.07.13 |
[프로그래머스] 배열 회전시키기 🔄️|JS (0) | 2024.07.12 |