Algorithm/프로그래머스

[프로그래머스 js] 최댓값 만들기(1)

양원준 2023. 9. 28. 23:14
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