티스토리 뷰

ALGORITHM/Inflearn

좌표정렬 - sort사용

Harimad 2022. 3. 20. 13:02

 

문제

좌표(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
 

 

풀이

1. 배열을 sort 메서드를 사용해서 정렬한다.

2. answer.sort(a, b => ?) 에서 a값은 첫 요소[2, 7]이고, b값은 두번째 요소[1, 3]이다

3. a[0] 값과 b[0]의 값이 같으면 a 와 b의 두번째 배열요소로 리턴(return a[1] - b[1])해서 정렬한다.

4. 그렇지 않은 경우에는 a 와 b의 첫번째 배열요소로 리턴(return a[0] - b[0]) 한다.

 

코드

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], [2, 5], [3, 6]];
console.log(solution(arr)); // [[1, 2], [1, 3], [2, 5], [2, 7], [3, 6]]

 

 

출처

 

자바스크립트 알고리즘 문제풀이(코딩테스트 대비) - 인프런 | 강의

자바스크립트(JavaScript)로 코딩테스트를 준비하시는 분을 위한 강좌입니다. 재미있게 풀 수 있는 기초 단계 문제부터 고급 알고리즘까지 단계별로 차근차근 배우도록 설계된 강좌입니다., - 강의

www.inflearn.com

 

'ALGORITHM > Inflearn' 카테고리의 다른 글

결혼식 - 그리디 알고리즘  (0) 2022.03.22
회의실 배정 (그리디 알고리즘)  (0) 2022.03.20
장난꾸러기 현수  (0) 2022.03.16
Least Recently Used(카카오 캐시 문제 변형)  (0) 2022.03.15
삽입정렬  (0) 2022.03.14
댓글
다크모드
Document description javascript psychology
더보기 ,제목1 태그 호버