728x90
문제
정수 배열 numbers가 매개변수로 주어집니다. numbers의 원소 중 두 개를 곱해 만들 수 있는 최댓값을 return하도록 solution 함수를 완성해주세요.
제한사항
0<= numbers 원소 <= 10,00
2<= numbers 길이 <=100
입출력 예
[1,2,3,4,5] => 20
나의 답
function solution(numbers) {
var answer = 0;
numbers.sort((a,b) => (b-a))
answer= numbers[0]*numbers[1]
return answer;
}
사용한거
sort() => js 에서 배열을 정리하기 위한 함수
['b','c','a'].sort();
=> a,b,c
[11,2,5,20,8].sort();
=> 11,2,20,5,8
위와 같이 유니코드 기존으로 정렬을 하기 때문에 문자는 상관없으나 숫자는 예상 정렬값과 다름을 확인할 수 있다
따라서, 숫자를 비교할 때는 아래를 이용하여 정렬한다
- 반환 값 < 0 : a가 b보다 앞에 있어야 한다.
- 반환 값 = 0 : a와 b의 순서를 바꾸지 않는다.
- 반환 값 > 0 : b가 a보다 앞에 있어야 한다.
arr.sort((a,b) => (a-b)) //오름차순
arr.sort((a,b) => (b-a)) //내림차순
위와 같이 정렬이 가능하다
728x90
'Algorithm > 프로그래머스' 카테고리의 다른 글
[프로그래머스 js] 정수 내림차순으로 배치하기 (1) | 2023.10.26 |
---|---|
[프로그래머스 js] 문자열내 p와 y 개수 (2) | 2023.10.23 |
[프로그래머스 js] 문자열 정수로 바꾸기 (1) | 2023.10.22 |
[프로그래머스 js] 최댓값만들기(2) (1) | 2023.10.04 |
[프로그래머스 js] 자리수 더하기 (1) | 2023.09.27 |