[JavaScript/section 7] 03 - Special Sort(๊ตฌ๊ธ€ ์ธํ„ฐ๋ทฐ)
ยท
Algorithm/์ธํ”„๋Ÿฐ(inflearn)
๐Ÿ“Œ 03 - Special Sort(๊ตฌ๊ธ€ ์ธํ„ฐ๋ทฐ) N๊ฐœ์˜ ์ •์ˆ˜๊ฐ€ ์ž…๋ ฅ๋˜๋ฉด ์ž…๋ ฅ๋œ ๊ฐ’์„ ์ •๋ ฌํ•˜๋Š” ๋ฌธ์ œ์ด๋‹ค. ์Œ์˜ ์ •์ˆ˜๋Š” ์•ž์ชฝ์— ์–‘์˜ ์ •์ˆ˜๋Š” ๋’ท์ชฝ์— ์žˆ์–ด์•ผ ํ•œ๋‹ค. ๋˜ํ•œ ์–‘์˜ ์ •์ˆ˜์™€ ์Œ์˜ ์ •์ˆ˜์˜ ์ˆœ์„œ์—๋Š” ๋ณ€ํ•จ์ด ์—†์–ด์•ผ ํ•œ๋‹ค. ๐Ÿ‘ ํ’€์ด ๋ฐฉ๋ฒ•(๊ฐ•์‚ฌ๋‹˜๊ณผ ๋™์ผ) ๋ฒ„๋ธ” ์ •๋ ฌ ๋ฌธ์ œ์˜ ์‘์šฉ์œผ๋กœ ํ’€์ด ๋ฐฉ๋ฒ• ๋˜ํ•œ ๋งค์šฐ ๋น„์Šทํ•˜๋‹ค. ์ž๋ฃŒ๋ฅผ ๊ตํ™˜ํ•˜๋Š” ์กฐ๊ฑด๋งŒ ๋ฐ”๊พธ๋ฉด ๋œ๋‹ค. j๋ฅผ ๋Œ๋•Œ๋งˆ๋‹ค ์„œ๋กœ ์ธ์ ‘ํ•œ ์›์†Œ ์ค‘ ์•ž์ชฝ ์›์†Œ j๊ฐ€ ์–‘์ˆ˜์ด๊ณ , ๋’ค์ชฝ ์›์†Œ j + 1์ด ์Œ์ˆ˜์ด๋ฉด ๊ตํ™˜ํ•˜๋ฉด์„œ ์ž๋ฃŒ๋ฅผ ์ •๋ ฌํ•œ๋‹ค. 1ํšŒ์ „์„ ์ˆ˜ํ–‰ํ•  ๋•Œ๋งˆ๋‹ค ์ •๋ ฌ์ด ํ™•์ •๋˜๋Š” ์ž๋ฃŒ๊ฐ€ ํ•˜๋‚˜์”ฉ ๋Š˜์–ด๋‚˜๋ฏ€๋กœ j๊ฐ€ ๋„๋Š” ๋ฒ”์œ„๋Š” ํ•˜๋‚˜์”ฉ ์ค„์–ด๋“ ๋‹ค. ๐Ÿ“ ํ’€์ด function solution(arr) { // Shallow Copy let answer = arr; for (let i = 0;..
[JavaScript/section 7] 02 - ๋ฒ„๋ธ” ์ •๋ ฌ
ยท
Algorithm/์ธํ”„๋Ÿฐ(inflearn)
๐Ÿ“Œ ๋ฌธ์ œ N๊ฐœ์˜ ์ˆซ์ž๊ฐ€ ์ž…๋ ฅ๋˜๋ฉด ์˜ค๋ฆ„์ฐจ์ˆœ์œผ๋กœ ์ •๋ ฌํ•˜์—ฌ ์ถœ๋ ฅํ•˜๋Š” ๋ฌธ์ œ์ด๋‹ค. ์ •๋ ฌํ•˜๋Š” ๋ฐฉ๋ฒ•์€ ๋ฒ„๋ธ” ์ •๋ ฌ์ด๋‹ค. ๐Ÿง ๋ฒ„๋ธ” ์ •๋ ฌ(bubble sort)์ด๋ž€ ๋ฌด์—‡์ผ๊นŒโ“ ์ฃผ์–ด์ง„ ๋ฐฐ์—ด์—์„œ ์„œ๋กœ ์ธ์ ‘ํ•œ ๋‘ ์š”์†Œ๋ฅผ ๊ฒ€์‚ฌํ•˜์—ฌ ์ •๋ ฌํ•˜๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜ ์ธ์ ‘ํ•œ 2๊ฐœ์˜ ์š”์†Œ๋ฅผ ๋น„๊ตํ•˜์—ฌ ํฌ๊ธฐ๊ฐ€ ์ˆœ์„œ๋Œ€๋กœ ๋˜์–ด ์žˆ์ง€ ์•Š์œผ๋ฉด ์„œ๋กœ ๊ตํ™˜ํ•œ๋‹ค. ๊ตฌํ˜„์ด ๋งค์šฐ ๊ฐ„๋‹จํ•˜์ง€๋งŒ ๋น„ํšจ์œจ์ ์ธ ๋ฐฉ๋ฒ•์ด๋‹ค. ํ‰๊ท  ์‹œ๊ฐ„๋ณต์žก๋„ O(N^2) ๐Ÿ“ ํ’€์ด function solution(arr) { let answer = arr; // 1ํšŒ์ „์„ ์ˆ˜ํ–‰ํ•  ๋•Œ๋งˆ๋‹ค ์ •๋ ฌ์ด ํ™•์ •๋˜๋Š” ์š”์†Œ๊ฐ€ ํ•˜๋‚˜์”ฉ ์ฆ๊ฐ€ for (let i = 0; i < arr.length - 1; i++) { // j๊ฐ€ ๋„๋Š” ๋ฒ”์œ„๋Š” ํ•˜๋‚˜์”ฉ ๊ฐ์†Œ for (let j = 0; j < arr.length - (1 + i)..
_์„ฑํ˜ธ_
'๋ฒ„๋ธ” ์ •๋ ฌ' ํƒœ๊ทธ์˜ ๊ธ€ ๋ชฉ๋ก