/////
Search

최대값 구하기 2

대엽님 코드랑 비교할 때 궁금점
1.
대엽님 풀이는 연산을 먼저 하고 최대값을 실시간으로 찾음
2.
내 풀이는 연산을 다하고 새로운 배열로 푸쉬를 한 뒤, 해당 배열을 통해 최대값을 찾는 방법임
/* 대엽님 코드 */ // 타임, 메모리 어택이 없으면 최소값은 무조건 infinify // 최대값은 무조건 - infinity 로 설정 /* function solution(numbers) { let result = -Infinity; for (let i = 0; i < numbers.length; i++) { for (let j = i + 1; j < numbers.length; j++) { if (result < numbers[i] * numbers[j]) { result = numbers[i] * numbers[j]; } } } } */ /* 테스트 8, 테스트 9 통과 못한 풀이 */ /* function solution(numbers) { const resultArr = []; for (let i of numbers) { for (let j of numbers) { if (i !== j && i < j) { resultArr.push(i * j); } } } return Math.max(...resultArr.sort((a, b) => a - b)); } */ console.log(solution([1, 2, -3, 4, -5])); // 15 console.log(solution([0, -31, 24, 10, 1, 9])); // 240 console.log(solution([10, 20, 30, 5, 5, 20, 5])); // 600 console.log(solution([-1, 1])); // -1 console.log(solution([-500, 10])); // -5000 // 논외 풀이 function solution(numbers) { numbers = numbers.sort((a, b) => a - b); return numbers.at(0) * numbers.at(1) > numbers.at(-1) * numbers.at(-2) ? numbers.at(0) * numbers.at(1) : numbers.at(-1) * numbers.at(-2); }
JavaScript
복사