프로그래밍/코딩연습
[ JS 코딩연습 ] 2024/04/10 : 3. 최댓값 만들기
L.Joey
2024. 4. 11. 07:48
문제(출처: 프로그래머스)
정수 배열 numbers가 매개변수로 주어집니다. numbers의 원소 중 두 개를 곱해 만들 수 있는 최댓값을 return하도록 solution 함수를 완성해주세요.
▶ 내가 푼 방식
//내가 작성한 코드
function solution(numbers) {
let answer = 0;
numbers.sort(function(a, b) {
if(a > b) return -1;
if(a === b) return 0;
if(a < b) return 1;
});
return numbers[0]*numbers[1];
}
▶ 다른 유저가 푼 방식
// 유저 1 : 다른 정렬방식
function solution(numbers) {
let [a, b] = numbers.sort((a,b) => b - a);
return a * b;
}
// 유저 2 : 내가 해보고 싶었던 방식
function solution(numbers) {
const max1 = Math.max(numbers)
const numbers = numbers.splice(numbers.indexOf(max1), 1);
const max2 = Math.max(numbers)
return max1 * max2;
}
▶ 배운 것들
- 첫번째 유저의 정렬방식
- 배열에서 특정 요소의 인덱스를 쉽게 차는 방법 : arr.indexOf(value)