๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
๐Ÿ“’ Algorithm

[์ฝ”๋”ฉ ํ…Œ์ŠคํŠธ ํ•ฉ๊ฒฉ์ž ๋˜๊ธฐ ๋ฌธ์ œ 02] ๋ฐฐ์—ด ์ œ์–ดํ•˜๊ธฐ

by s2ylvia 2024. 11. 14.

๐Ÿ”— ๋ฐฐ์—ด ์ œ์–ดํ•˜๊ธฐ

[์ €์ž ์ถœ์ œ]
 

๋ฌธ์ œ ์„ค๋ช…

> ์ •์ˆ˜ ๋ฐฐ์—ด์„ ํ•˜๋‚˜ ๋ฐ›์Šต๋‹ˆ๋‹ค. ๋ฐฐ์—ด์˜ ์ค‘๋ณต๊ฐ’์„ ์ œ๊ฑฐํ•˜๊ณ  ๋ฐฐ์—ด ๋ฐ์ดํ„ฐ๋ฅผ ๋‚ด๋ฆผ์ฐจ์ˆœ์œผ๋กœ ์ •๋ ฌํ•ด์„œ ๋ฐ˜ํ™˜ํ•˜๋Š” solution() ํ•จ์ˆ˜๋ฅผ ๊ตฌํ˜„ํ•˜์„ธ์š”.
 


์ œ์•ฝ ์กฐ๊ฑด
  • ๋ฐฐ์—ด์˜ ๊ธธ์ด๋Š” 2์ด์ƒ 1000 ์ดํ•˜์ž…๋‹ˆ๋‹ค.
  • ๊ฐ ๋ฐฐ์—ด์˜ ๋ฐ์ดํ„ฐ ๊ฐ’์€ -100000์ด์ƒ 100000 ์ดํ•˜์ž…๋‹ˆ๋‹ค.

 
์˜ˆ์ œ ์ž…/์ถœ๋ ฅ

#์˜ˆ์ œ1

์ž…๋ ฅ
 
[4, 2, 2, 1, 3, 4];
 

์ถœ๋ ฅ
 
[4, 3, 2, 1];
 

#์˜ˆ์ œ2

์ž…๋ ฅ
 
[2, 1, 1, 3, 2, 5, 4];

 

 

์ถœ๋ ฅ
 
[5, 4, 3, 2, 1];

 

 
์ ‘๊ทผ ๋ฐฉ์‹

 

โœ… ์‹œ๊ฐ„ ๋ณต์žก๋„

  • NlogN
  • ์ค‘๋ณต๊ฐ’์„ ์ œ๊ฑฐํ•˜๋Š”๋ฐ O(N)์ด ๊ฑธ๋ฆฌ๊ณ , ์ด๋ฅผ ๋‹ค์‹œ ์ •๋ ฌํ•˜๋Š”๋ฐ O(NlogN)์ด ๊ฑธ๋ฆฌ๋ฏ€๋กœ ์ตœ์ข… ์‹œ๊ฐ„ ๋ณต์žก๋„๋Š” O(NlogN)์ž…๋‹ˆ๋‹ค.

โœ…  ์ž๋ฃŒ๊ตฌ์กฐ

  • Set ๊ฐ์ฒด
  • Set์€ ์ง‘ํ•ฉ์„ ์ƒ์„ฑํ•˜๋Š” ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ๋‚ด์žฅ ๊ฐ์ฒด๋กœ, ์ง‘ํ•ฉ์€ ์ค‘๋ณต๊ฐ’์„ ํ—ˆ์šฉํ•˜์ง€์•Š๊ธฐ ๋•Œ๋ฌธ์— ํ•œ๋ฒˆ์— ์ค‘๋ณต๊ฐ’์„ ์ œ๊ฑฐํ•˜๊ธฐ์œ„ํ•ด ์‚ฌ์šฉํ•˜์˜€์Šต๋‹ˆ๋‹ค.

โœ…  ์•Œ๊ณ ๋ฆฌ์ฆ˜

  • sort()
  • ๋‚ด๋ฆผ์ฐจ์ˆœ์œผ๋กœ ์ •๋ ฌํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉํ•˜์˜€์Šต๋‹ˆ๋‹ค.


์†Œ์Šค ์ฝ”๋“œ

function solution(arr) {
  //๋ฐฐ์—ด์˜ ์ค‘๋ณต๊ฐ’์„ ์ œ๊ฑฐํ•˜๊ณ  ๋ฐฐ์—ด ๋ฐ์ดํ„ฐ๋ฅผ ๋‚ด๋ฆผ์ฐจ์ˆœ์œผ๋กœ ์ •๋ ฌ
  return [...new Set(arr)].sort((a, b) => b - a);
}