sort 3

좌표정렬

N개의 평면상의 좌표(x, y)가 주어지면 모든 좌표를 오름차순으로 정렬하는 프로그램을 작성하 세요. 정렬기준은 먼저 x값의 의해서 정렬하고, x값이 같을 경우 y값에 의해 정렬합니다. [입력예제 1] [ [ 2, 7 ], [ 1, 3 ], [ 1, 2 ], [ 2, 5 ], [ 3, 6 ] ] [출력예제 1] [ [ 1, 2 ], [ 1, 3 ], [ 2, 5 ], [ 2, 7 ], [ 3, 6 ] ] 풀이 function solution(arr){ let answer = arr; answer.sort((a,b) => { if(a[0] === b[0]) return a[1]-b[1] return a[0]-b[0] }) return answer; } let arr=[[2, 7], [1, 3], [1, 2..

알고리즘 2023.04.13

Special Sort(구글 인터뷰)

N개의 정수가 입력되면 당신은 입력된 값을 정렬해야 한다. 음의 정수는 앞쪽에 양의정수는 뒷쪽에 있어야 한다. 또한 양의정수와 음의정수의 순서에는 변함이 없어야 한다. 입력예제 1 2 3 -3 -2 5 6 -6 출력예제 -3 -2 -6 1 2 3 5 6 풀이 function solution(arr) { // answer에 arr 얕은복사 , arr 값이 바뀌면 answer 도 바뀜. let answer = arr; // 기존의 버블정렬 형태로 이중 for문 실행, 맨마지막 인덱스는 비교할 인덱스가 없으니 arr.length - 1 까지만 For문 실행 for (let i = 0; i < arr.length - 1; i++) { //버블 정렬의 형태기 때문에 마찬가지로 // 비교가 완료된 맨마지막 inde..

알고리즘 2022.12.18

선택정렬

N개이 숫자가 입력되면 오름차순으로 정렬하여 출력하는 프로그램을 작성하세요. 정렬하는 방법은 선택정렬입니다. 입력예제 13 5 11 7 23 15 출력예제 5 7 11 13 15 23 function solution(arr){ // arr 배열 매개변수 얕은복사 저장 얕은복사라 arr가 바뀌면 answer도 바뀜 let answer=arr; //요소와 요소를 비교해 어떤 요소가 더 작은지 찾기 위해 이중 For문 실행 for(let i=0; i

알고리즘 2022.12.13