Algorithm/์ธํ”„๋Ÿฐ(inflearn)

[JavaScript/section 7] 07 - ์ขŒํ‘œ ์ •๋ ฌ

_์„ฑํ˜ธ_ 2022. 10. 6. 13:05
728x90
๋ฐ˜์‘ํ˜•

๐Ÿ“Œ 07 - ์ขŒํ‘œ ์ •๋ ฌ

N๊ฐœ์˜ ํ‰๋ฉด์ƒ์˜ ์ขŒํ‘œ(x, y)๊ฐ€ ์ฃผ์–ด์ง€๋ฉด ๋ชจ๋“  ์ขŒํ‘œ๋ฅผ ์˜ค๋ฆ„์ฐจ์ˆœ์œผ๋กœ ์ •๋ ฌํ•˜๋Š” ๋ฌธ์ œ์ด๋‹ค. ์ •๋ ฌ ๊ธฐ์ค€์€ ๋จผ์ € x๊ฐ’์— ์˜ํ•ด์„œ ์ •๋ ฌํ•˜๊ณ , x๊ฐ’์ด ๊ฐ™์„ ๊ฒฝ์šฐ y๊ฐ’์— ์˜ํ•ด ์ •๋ ฌํ•œ๋‹ค.

๐Ÿ‘ ํ’€์ด ๋ฐฉ๋ฒ•

  • sort() ํ•จ์ˆ˜๋ฅผ ์ด์šฉํ•œ๋‹ค. 0๋ฒˆ ์ธ๋ฑ์Šค๋Š” x, 1๋ฒˆ ์ธ๋ฑ์Šค๋Š” y์— ํ•ด๋‹นํ•œ๋‹ค.
  • x๊ฐ’์ด ๊ฐ™์„ ๊ฒฝ์šฐ y๊ฐ’์— ์˜ํ•ด ์ •๋ ฌํ•˜๊ณ  ๋‹ค๋ฅผ ๊ฒฝ์šฐ x๊ฐ’์— ์˜ํ•ด ์ •๋ ฌํ•œ๋‹ค. 

 

๐Ÿ“ ํ’€์ด

function solution(arr) {
  let answer = arr;

  arr.sort((a, b) => {
    if (a[0] === b[0]) return a[1] - b[1];
    else return a[0] - b[0];
  });

  return answer;
}

let arr = [
  [2, 7],
  [1, 3],
  [1, 2],
  [2, 5],
  [3, 6],
];
console.log(solution(arr));