[알고리즘] 제곱수 정렬
오름차순으로 정렬 되어있는 수열이 주어질 때 , 수열의 원소를 제곱하여 오름차순 정렬해 출력하는 프로그램 작성
제곱 먼저 하고 정렬할 수 있지만, 오름차순으로 정렬하라는 의미는 O(n) 안에 끝내야 한다.
function solution(arr){
let left=0;
let right=arr.length-1;
let square=new Array();
for(let i=arr.length-1;i>=0;i--){
if(Math.abs(arr[left])>Math.abs(arr[right])){
// left 의 절댓값이 더 큰경우
square[i]=arr[left]*arr[left];
left++;
}
else{
square[i]=arr[right]*arr[right];
right--;
}
}
return square;
}
console.log(solution([-4,-1,0,3,10]));
Author And Source
이 문제에 관하여([알고리즘] 제곱수 정렬), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@mingsomm/알고리즘-제곱수-정렬저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)