์ „์ฒด ๊ธ€ 278

[์•Œ๊ณ ๋ฆฌ์ฆ˜] ์ •๋ ฌ ์•Œ๊ณ ๋ฆฌ์ฆ˜ - ํ•ฉ๋ณ‘ ์ •๋ ฌ Merge Sort

ํ•ฉ๋ณ‘ ์ •๋ ฌ (Merge Sort) ์•Œ๊ณ ๋ฆฌ์ฆ˜ : ๋ฐฐ์—ด์„ ์•ž๋ถ€๋ถ„๊ณผ ๋’ท๋ถ€๋ถ„์œผ๋กœ ๋‚˜๋ˆ„์–ด ๊ฐ๊ฐ ์ •๋ ฌํ•œ ๋‹ค์Œ ๋ณ‘ํ•ฉํ•˜๋Š” ์ž‘์—…์„ ๋ฐ˜๋ณตํ•˜์—ฌ ์ •๋ ฌ์„ ์ˆ˜ํ–‰ํ•˜๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜ int[] merge = {8, 1, 4, 2, 7, 6, 3, 5} 1. ๋ฐฐ์—ด์„ ๋ฐ˜์œผ๋กœ ๋‚˜๋ˆˆ๋‹ค 2. ์•ž๋ถ€๋ถ„์„ ํ•ฉ๋ณ‘์ •๋ ฌ๋กœ ์ •๋ ฌํ•œ๋‹ค 3. ๋’ท๋ถ€๋ถ„์„ ํ•ฉ๋ณ‘์ •๋ ฌ๋กœ ์ •๋ ฌํ•œ๋‹ค 4. ์•ž๋ถ€๋ถ„๊ณผ ๋’ท๋ถ€๋ถ„์„ ๋ณ‘ํ•ฉํ•œ๋‹ค 4-1. ์•ž๋ถ€๋ถ„์„ ๋ฐฐ์—ด buff์— ๋ณต์‚ฌ 4-2. ๋ฐฐ์—ด buff์™€ ๋’ท๋ถ€๋ถ„์„ ๋ฐฐ์—ด a์— ๋ณ‘ํ•ฉ 4-3. ๋ฐฐ์—ด buff์˜ ๋‚˜๋จธ์ง€ ์š”์†Œ๋ฅผ ๋ฐฐ์—ด a์— ๋ณต์‚ฌ ๋ฉ”์„œ๋“œ mergeSort() : ๋ฐฐ์—ด a์˜ ํฌ๊ธฐ n๊ณผ ๊ฐ™์€ ํฌ๊ธฐ์˜ ๋ฐฐ์—ด buff๋ฅผ ์„ ์–ธํ•˜๊ณ , mergetSort()๋ฅผ ์‹คํ–‰ ํ›„ ์ •๋ ฌ์ด ๋๋‚˜๋ฉด ๋ฐฐ์—ด buff๋ฅผ ํ•ด์ œ ๋งค๊ฐœ๋ณ€์ˆ˜ : int[] a, int n ๋ฉ”์„œ๋“œ mergeSo..

[BOJ/Step12] 2751 : ์ˆ˜ ์ •๋ ฌํ•˜๊ธฐ 2 (JAVA)

www.acmicpc.net/problem/2751 2751๋ฒˆ: ์ˆ˜ ์ •๋ ฌํ•˜๊ธฐ 2 ์ฒซ์งธ ์ค„์— ์ˆ˜์˜ ๊ฐœ์ˆ˜ N(1 ≤ N ≤ 1,000,000)์ด ์ฃผ์–ด์ง„๋‹ค. ๋‘˜์งธ ์ค„๋ถ€ํ„ฐ N๊ฐœ์˜ ์ค„์—๋Š” ์ˆซ์ž๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. ์ด ์ˆ˜๋Š” ์ ˆ๋Œ“๊ฐ’์ด 1,000,000๋ณด๋‹ค ์ž‘๊ฑฐ๋‚˜ ๊ฐ™์€ ์ •์ˆ˜์ด๋‹ค. ์ˆ˜๋Š” ์ค‘๋ณต๋˜์ง€ ์•Š๋Š”๋‹ค. www.acmicpc.net ๋ฌธ์ œ N๊ฐœ์˜ ์ˆ˜๊ฐ€ ์ฃผ์–ด์กŒ์„ ๋•Œ, ์ด๋ฅผ ์˜ค๋ฆ„์ฐจ์ˆœ์œผ๋กœ ์ •๋ ฌํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์‹œ์˜ค. ์ž…๋ ฅ ์ฒซ์งธ ์ค„์— ์ˆ˜์˜ ๊ฐœ์ˆ˜ N(1 ≤ N ≤ 1,000,000)์ด ์ฃผ์–ด์ง„๋‹ค. ๋‘˜์งธ ์ค„๋ถ€ํ„ฐ N๊ฐœ์˜ ์ค„์—๋Š” ์ˆซ์ž๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. ์ด ์ˆ˜๋Š” ์ ˆ๋Œ“๊ฐ’์ด 1,000,000๋ณด๋‹ค ์ž‘๊ฑฐ๋‚˜ ๊ฐ™์€ ์ •์ˆ˜์ด๋‹ค. ์ˆ˜๋Š” ์ค‘๋ณต๋˜์ง€ ์•Š๋Š”๋‹ค. ์ถœ๋ ฅ ์ฒซ์งธ ์ค„๋ถ€ํ„ฐ N๊ฐœ์˜ ์ค„์— ์˜ค๋ฆ„์ฐจ์ˆœ์œผ๋กœ ์ •๋ ฌํ•œ ๊ฒฐ๊ณผ๋ฅผ ํ•œ ์ค„์— ํ•˜๋‚˜์”ฉ ์ถœ๋ ฅํ•œ๋‹ค. ์˜ˆ์ œ ์ž…๋ ฅ 1 5 5 4 3..

[์•Œ๊ณ ๋ฆฌ์ฆ˜] ์ •๋ ฌ ์•Œ๊ณ ๋ฆฌ์ฆ˜ - ํ€ต ์ •๋ ฌ Quick Sort

ํ€ต ์ •๋ ฌ (Quick Sort) ์•Œ๊ณ ๋ฆฌ์ฆ˜ : ๋ถ„ํ•  ์ •๋ณต ์•Œ๊ณ ๋ฆฌ์ฆ˜ ์ค‘์˜ ํ•˜๋‚˜๋กœ, ๋งค์šฐ ๋น ๋ฅธ ์†๋„๋ฅผ ์ž๋ž‘ํ•˜๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜ 1. ๋ฐฐ์—ด ์•ˆ์˜ ํ•œ ์š”์†Œ๋ฅผ ์„ ํƒํ•˜์—ฌ ์ด๋ฅผ ํ”ผ๋ฒ—์ด๋ผ ํ•˜๊ณ , ๋ฐฐ์—ด์˜ ๋งจ ์ฒซ๋ฒˆ์งธ ์š”์†Œ์™€ ๊ตํ™˜ 2. ๋ฐฐ์—ด์˜ ์™ผ์ชฝ ๋์—์„œ๋ถ€ํ„ฐ ํ”ผ๋ฒ—๋ณด๋‹ค ํฐ ์š”์†Œ๋ฅผ, ์˜ค๋ฅธ์ชฝ ๋์—์„œ๋ถ€ํ„ฐ ํ”ผ๋ฒ—๋ณด๋‹ค ์ž‘์€ ์š”์†Œ๋ฅผ ํƒ์ƒ‰ 3. ์™ผ์ชฝ์—์„œ ๋ฐœ๊ฒฌํ•œ ํ”ผ๋ฒ—๋ณด๋‹ค ํฐ ์š”์†Œ์™€ ์˜ค๋ฅธ์ชฝ์—์„œ ๋ฐœ๊ฒฌํ•œ ํ”ผ๋ฒ—๋ณด๋‹ค ์ž‘์€ ์š”์†Œ๋ฅผ ๊ตํ™˜ 3. ์™ผ์ชฝ๊ณผ ์˜ค๋ฅธ์ชฝ์—์„œ ํƒ์ƒ‰ํ•˜๋˜ ์ปค์„œ๊ฐ€ ๋งŒ๋‚˜๋ฉด ์ค‘์ง€, ํ”ผ๋ฒ—๊ณผ ๊ตํ™˜ => ๋‘ ์ปค์„œ๊ฐ€ ๋งŒ๋‚œ ์œ„์น˜ ์™ผ์ชฝ์—๋Š” ํ”ผ๋ฒ—๋ณด๋‹ค ์ž‘์€ ์š”์†Œ๊ฐ€, ์˜ค๋ฅธ์ชฝ์—๋Š” ํฐ ์š”์†Œ๊ฐ€ ์œ„์น˜ํ•˜๊ฒŒ ๋œ๋‹ค 4. ํ”ผ๋ฒ—์„ ๊ธฐ์ค€์œผ๋กœ ์™ผ์ชฝ ๊ทธ๋ฃน๊ณผ ์˜ค๋ฅธ์ชฝ ๊ทธ๋ฃน์„ ๊ฐ๊ฐ ๋‹ค์‹œ ํ€ต ์ •๋ ฌ 5. ๊ฐ ๊ทธ๋ฃน์ด ๋”์ด์ƒ ๋ถ„ํ• ์ด ๋ถˆ๊ฐ€๋Šฅํ•  ๋•Œ ๊นŒ์ง€ ๋ฐ˜๋ณต -> ๊ทธ๋ฃน ๋ฐฐ์—ด์˜ ํฌ๊ธฐ๊ฐ€ 0์ด๋‚˜ 1์ด๋ฉด ์ค‘์ง€ i..

[์•Œ๊ณ ๋ฆฌ์ฆ˜] ์ •๋ ฌ ์•Œ๊ณ ๋ฆฌ์ฆ˜ - ์…ธ ์ •๋ ฌ Shell Sort

์…ธ ์ •๋ ฌ (Shell Sort) ์•Œ๊ณ ๋ฆฌ์ฆ˜ : ์‚ฝ์ž… ์ •๋ ฌ ์˜ ์žฅ์ ์€ ์‚ด๋ฆฌ๊ณ  ๋‹จ์ ์€ ๋ณด์™„ํ•˜์—ฌ ์ข€ ๋” ๋น ๋ฅด๊ฒŒ ์ •๋ ฌํ•˜๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜, ๋ถˆ์•ˆ์ • ์ •๋ ฌ. ์ •๋ ฌํ•  ๋ฐฐ์—ด์˜ ์š”์†Œ๋ฅผ ๊ทธ๋ฃน์œผ๋กœ ๋‚˜๋ˆ  ๊ฐ ๊ทธ๋ฃน๋ณ„๋กœ ์‚ฝ์ž… ์ •๋ ฌ์„ ์ˆ˜ํ–‰ํ•˜๊ณ , ๊ทธ ๊ทธ๋ฃน์„ ํ•ฉ์น˜๋ฉด์„œ ์ •๋ ฌ์„ ๋ฐ˜๋ณตํ•˜์—ฌ ์š”์†Œ์˜ ์ด๋™ ํšŸ์ˆ˜๋ฅผ ์ค„์ž„ ์‚ฝ์ž… ์ •๋ ฌ์˜ ์žฅ/๋‹จ์  ์žฅ์  : ์ •๋ ฌ์„ ๋งˆ์ณค๊ฑฐ๋‚˜ ์ •๋ ฌ์„ ๋งˆ์นœ ์ƒํƒœ์— ๊ฐ€๊นŒ์šฐ๋ฉด ์ •๋ ฌ ์†๋„๊ฐ€ ๋นจ๋ผ์ง„๋‹ค ๋‹จ์  : ์‚ฝ์ž…ํ•  ์œ„์น˜๊ฐ€ ๋ฉ€๋ฆฌ ๋–จ์–ด์ ธ ์žˆ์œผ๋ฉด ์ด๋™(์‚ฝ์ž…)ํ•ด์•ผ ํ•˜๋Š” ํšŸ์ˆ˜๊ฐ€ ๋งŽ์•„์ง„๋‹ค ์…ธ ์ •๋ ฌ์€ ์ „์ฒด์˜ ๋ฐฐ์—ด์„ ํ•œ๋ฒˆ์— ์ •๋ ฌํ•˜์ง€ ์•Š๊ณ  ์ •๋ ฌํ•ด์•ผ ํ•  ๋ฐฐ์—ด์„ ์ผ์ •ํ•œ ๊ธฐ์ค€์— ๋”ฐ๋ผ ๋ถ„๋ฅ˜ํ•˜์—ฌ ์—ฐ์†์ ์ด์ง€ ์•Š์€ ์—ฌ๋Ÿฌ ๊ฐœ์˜ ๋ถ€๋ถ„ ๊ทธ๋ฃน์„ ๋งŒ๋“ค์–ด ๊ฐ ๊ทธ๋ฃน์„ ์‚ฝ์ž… ์ •๋ ฌํ•œ๋‹ค. ๋ถ€๋ถ„ ๊ทธ๋ฃน์„ ๊ตฌ์„ฑํ•  ๋•Œ ์ฃผ์–ด์ง„ ๋ฐฐ์—ด์˜ ๊ฐ K๋ฒˆ์งธ ์š”์†Œ๋ฅผ ์ถ”์ถœํ•˜์—ฌ ๋งŒ๋“œ๋Š”๋ฐ, ์ด K๋ฅผ ๊ฐ„๊ฒฉ(gap)..

[BOJ/Step12] 2750 : ์ˆ˜ ์ •๋ ฌํ•˜๊ธฐ (JAVA)

www.acmicpc.net/problem/2750 2750๋ฒˆ: ์ˆ˜ ์ •๋ ฌํ•˜๊ธฐ ์ฒซ์งธ ์ค„์— ์ˆ˜์˜ ๊ฐœ์ˆ˜ N(1 ≤ N ≤ 1,000)์ด ์ฃผ์–ด์ง„๋‹ค. ๋‘˜์งธ ์ค„๋ถ€ํ„ฐ N๊ฐœ์˜ ์ค„์—๋Š” ์ˆซ์ž๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. ์ด ์ˆ˜๋Š” ์ ˆ๋Œ“๊ฐ’์ด 1,000๋ณด๋‹ค ์ž‘๊ฑฐ๋‚˜ ๊ฐ™์€ ์ •์ˆ˜์ด๋‹ค. ์ˆ˜๋Š” ์ค‘๋ณต๋˜์ง€ ์•Š๋Š”๋‹ค. www.acmicpc.net ๋ฌธ์ œ N๊ฐœ์˜ ์ˆ˜๊ฐ€ ์ฃผ์–ด์กŒ์„ ๋•Œ, ์ด๋ฅผ ์˜ค๋ฆ„์ฐจ์ˆœ์œผ๋กœ ์ •๋ ฌํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์‹œ์˜ค. ์ž…๋ ฅ ์ฒซ์งธ ์ค„์— ์ˆ˜์˜ ๊ฐœ์ˆ˜ N(1 ≤ N ≤ 1,000)์ด ์ฃผ์–ด์ง„๋‹ค. ๋‘˜์งธ ์ค„๋ถ€ํ„ฐ N๊ฐœ์˜ ์ค„์—๋Š” ์ˆซ์ž๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. ์ด ์ˆ˜๋Š” ์ ˆ๋Œ“๊ฐ’์ด 1,000๋ณด๋‹ค ์ž‘๊ฑฐ๋‚˜ ๊ฐ™์€ ์ •์ˆ˜์ด๋‹ค. ์ˆ˜๋Š” ์ค‘๋ณต๋˜์ง€ ์•Š๋Š”๋‹ค. ์ถœ๋ ฅ ์ฒซ์งธ ์ค„๋ถ€ํ„ฐ N๊ฐœ์˜ ์ค„์— ์˜ค๋ฆ„์ฐจ์ˆœ์œผ๋กœ ์ •๋ ฌํ•œ ๊ฒฐ๊ณผ๋ฅผ ํ•œ ์ค„์— ํ•˜๋‚˜์”ฉ ์ถœ๋ ฅํ•œ๋‹ค. ์˜ˆ์ œ ์ž…๋ ฅ 5 5 2 3 4 1 ์˜ˆ์ œ ์ถœ๋ ฅ 1 2 3 4 5..

[์•Œ๊ณ ๋ฆฌ์ฆ˜] ์ •๋ ฌ ์•Œ๊ณ ๋ฆฌ์ฆ˜ - ์‚ฝ์ž… ์ •๋ ฌ Insertion Sort

์‚ฝ์ž… ์ •๋ ฌ (Insertion Sort) ์•Œ๊ณ ๋ฆฌ์ฆ˜ : ์„ ํƒํ•œ ์š”์†Œ๋ฅผ ๊ทธ๋ณด๋‹ค ๋” ์•ž์ชฝ์˜ ์ •๋ ฌ๋œ ๋ถ€๋ถ„์˜ ์•Œ๋งž์€ ์œ„์น˜์— ์‚ฝ์ž…ํ•˜์—ฌ ์ •๋ ฌํ•˜๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜ ํŠธ๋Ÿผํ”„ ์นด๋“œ๋ฅผ ํ•œ ์ค„๋กœ ๋Š˜์–ด๋†“์„ ๋•Œ ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•๊ณผ ์œ ์‚ฌ 1. ์•„์ง ์ •๋ ฌ๋˜์ง€ ์•Š์€ ๋ถ€๋ถ„์˜ ์ฒซ๋ฒˆ์งธ ์š”์†Œ selection[i]๋ฅผ ์„ ํƒ 2. ์ •๋ ฌ๋œ ๋ถ€๋ถ„์—์„œ selection[i]์˜ ์•Œ๋งž์€ ์œ„์น˜๋ฅผ ์ฐพ์•„ ์‚ฝ์ž… 2-1. ์ •๋ ฌ๋œ ๋ถ€๋ถ„์˜ ์š”์†Œ๋ฅผ ํ•œ์นธ์”ฉ ๋’ค๋กœ ๋ฐ€์–ด๋‚ธ๋‹ค 2-2. ์ •๋ ฌ๋œ ๋ถ€๋ถ„์˜ ์™ผ์ชฝ ๋์— ๋„๋‹ฌํ•˜๊ฑฐ๋‚˜ selection[i]๋ณด๋‹ค ์ž‘๊ฑฐ๋‚˜ ๊ฐ™์€ ์ˆ˜๋ฅผ ๋งŒ๋‚  ๋•Œ ๊นŒ์ง€ 2-3. ์•Œ๋งž์€ ์ž๋ฆฌ์— selection[i] ์‚ฝ์ž… ๋ฉ”์„œ๋“œ insertionSort() : ๊ธธ์ด๊ฐ€ n์ธ ๋ฐฐ์—ด a๋ฅผ ์‚ฝ์ž… ์ •๋ ฌ ๋งค๊ฐœ๋ณ€์ˆ˜ : int[] a, int n - ์‚ฝ์ž… ์ •๋ ฌ void insertionSort..

[์•Œ๊ณ ๋ฆฌ์ฆ˜] ์ •๋ ฌ ์•Œ๊ณ ๋ฆฌ์ฆ˜ - ์„ ํƒ ์ •๋ ฌ Selection Sort

์„ ํƒ ์ •๋ ฌ (Selection Sort) ์•Œ๊ณ ๋ฆฌ์ฆ˜ : ๊ฐ€์žฅ ์ž‘์€ ์š”์†Œ๋ถ€ํ„ฐ ์„ ํƒํ•ด ์•Œ๋งž์€ ์œ„์น˜๋กœ ์˜ฎ๊ฒจ์„œ ์ˆœ์„œ๋Œ€๋กœ ์ •๋ ฌํ•˜๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜ 1. ์•„์ง ์ •๋ ฌ๋˜์ง€ ์•Š์€ ๋ถ€๋ถ„์—์„œ ๊ฐ€์žฅ ์ž‘์€ ์š”์†Œ selection[i]๋ฅผ ์„ ํƒ 2. selection[i]์™€ ์•„์ง ์ •๋ ฌ๋˜์ง€ ์•Š์€ ๋ถ€๋ถ„์˜ ์ฒซ๋ฒˆ์งธ ์š”์†Œ๋ฅผ ๊ตํ™˜ 3. n-1ํšŒ ๋ฐ˜๋ณต ๋ฉ”์„œ๋“œ swap() : a[idx1] ๊ณผ a[idx2] ๋ฅผ ๊ตํ™˜ ๋งค๊ฐœ๋ณ€์ˆ˜ : int[] a, int idx1, int idx2 ๋ฉ”์„œ๋“œ selectionSort() : ๊ธธ์ด๊ฐ€ n์ธ ๋ฐฐ์—ด a๋ฅผ ์„ ํƒ ์ •๋ ฌ ๋งค๊ฐœ๋ณ€์ˆ˜ : int[] a, int n - ์„ ํƒ ์ •๋ ฌ void swap(int[] a, int idx1, int idx2) { int t = a[idx1]; a[idx1] = a[idx2]; a[idx2] ..

[์•Œ๊ณ ๋ฆฌ์ฆ˜] ์ •๋ ฌ ์•Œ๊ณ ๋ฆฌ์ฆ˜ - ์นตํ…Œ์ผ ์…ฐ์ด์ปค ์ •๋ ฌ Cocktail Shaker Sort

์นตํ…Œ์ผ ์…ฐ์ด์ปค ์ •๋ ฌ (Cocktail Shaker Sort) ์•Œ๊ณ ๋ฆฌ์ฆ˜ : ์นตํ…Œ์ผ ์…ฐ์ด์ปค ์ •๋ ฌ(Cocktail Shaker Sort) = ์–‘๋ฐฉํ–ฅ ๋ฒ„๋ธ” ์ •๋ ฌ(Bidirectional Bubble Sort) = ์…ฐ์ด์ปค ์ •๋ ฌ(Shaker Sort) = ์นตํ…Œ์ผ ์ •๋ ฌ(Cocktail Sort) ๋ฒ„๋ธ” ์ •๋ ฌ ์˜ ๋ณ€ํ˜•. ๋ฒ„๋ธ” ์ •๋ ฌ๊ณผ๋Š” ๋‹ฌ๋ฆฌ ๋งค ํŒจ์Šค๋งˆ๋‹ค ๋ฆฌ์ŠคํŠธ์˜ ์ˆœ์„œ๋ฅผ ๋ฐ”๊ฟ” ์ •๋ ฌ ํ™€์ˆ˜ ๋ฒˆ์งธ์˜ ํŒจ์Šค๋Š” ๊ฐ€์žฅ ์ž‘์€ ์š”์†Œ๋ฅผ ๋งจ ์•ž์œผ๋กœ, ์ง์ˆ˜ ๋ฒˆ์งธ์˜ ํŒจ์Šค๋Š” ๊ฐ€์žฅ ํฐ ์š”์†Œ๋ฅผ ๋งจ ๋’ค๋กœ ์ •๋ ฌ or ํ™€์ˆ˜ ๋ฒˆ์งธ์˜ ํŒจ์Šค๋Š” ๊ฐ€์žฅ ํฐ ์š”์†Œ๋ฅผ ๋งจ ๋’ค๋กœ, ์ง์ˆ˜ ๋ฒˆ์งธ์˜ ํŒจ์Šค๋Š” ๊ฐ€์žฅ ์ž‘์€ ์š”์†Œ๋ฅผ ๋งจ ์•ž์œผ๋กœ ์ •๋ ฌ ์ฒซ๋ฒˆ์งธ ํŒจ์Šค๊ฐ€ ์™„๋ฃŒ๋˜๋ฉด ๊ฐ€์žฅ ์ž‘์€ ์š”์†Œ๊ฐ€ ๋งจ ์•ž์œผ๋กœ ์ด๋™ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๋‘๋ฒˆ์งธ ํŒจ์Šค๋Š” ๋งจ ์•ž์˜ ์š”์†Œ๋ฅผ ์ œ์™ธํ•˜๊ณ  ์•ž -> ๋’ค ๋ฐฉํ–ฅ์œผ๋กœ ์ง„ํ–‰๋˜๊ณ , ๋‘..

[์•Œ๊ณ ๋ฆฌ์ฆ˜] ์ •๋ ฌ ์•Œ๊ณ ๋ฆฌ์ฆ˜ - ๋ฒ„๋ธ” ์ •๋ ฌ Bubble Sort

๋ฒ„๋ธ” ์ •๋ ฌ (Bubble Sort) ์•Œ๊ณ ๋ฆฌ์ฆ˜ : ์„œ๋กœ ์ด์›ƒํ•œ ๋‘ ์š”์†Œ์˜ ๋Œ€์†Œ ๊ด€๊ณ„๋ฅผ ๋น„๊ตํ•˜์—ฌ ๊ตํ™˜์„ ๋ฐ˜๋ณตํ•˜๋Š” ์ •๋ ฌ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ์š”์†Œ์˜ ๊ฐœ์ˆ˜๊ฐ€ n๊ฐœ์ธ ๋ฐฐ์—ด์€ ์ด n-1ํšŒ์˜ ํŒจ์Šค๋ฅผ ๊ฑฐ์น˜๋ฉฐ, i๋ฒˆ์งธ ํŒจ์Šค์—์„œ ๊ฐ๊ฐ n-i๋ฒˆ์˜ ์ •๋ ฌ์„ ์ˆ˜ํ–‰ํ•œ๋‹ค ( ํŒจ์Šค์˜ ํšŸ์ˆ˜๊ฐ€ n-1ํšŒ์ธ ์ด์œ ๋Š” n-1ํšŒ์˜ ์ •๋ ฌ์ด ๋๋‚˜๋ฉด ๋งˆ์ง€๋ง‰ ์š”์†Œ ํ•˜๋‚˜๊ฐ€ ๋‚จ๋Š”๋ฐ, ์ด๋ฏธ ์ •๋ ฌ๋œ ์ƒํƒœ์ด๊ธฐ ๋•Œ๋ฌธ ) int[] bubble = {6, 4, 5, 1, 2} 1. ์ฒซ๋ฒˆ์งธ ํŒจ์Šค : bubble[0] ~ bubble[4] ์ค‘ ๊ฐ€์žฅ ํฐ ์š”์†Œ๊ฐ€ ๋งจ ๋’ค๋กœ ์ด๋™ 1-1. bubble[0]๊ณผ bubble[1]์„ ๋น„๊ต, bubble[0]์ด bubble[1]๋ณด๋‹ค ํฌ๋ฏ€๋กœ ๊ตํ™˜ {4, 6, 5, 1, 2} 1-2. bubble[1]๊ณผ bubble[2]์„ ๋น„๊ต, bubble[1]์ด..

[์•Œ๊ณ ๋ฆฌ์ฆ˜] ์†Œ์ˆ˜ ๊ตฌํ•˜๊ธฐ - ์—๋ผํ† ์Šคํ…Œ๋„ค์Šค์˜ ์ฒด Sieve of Eratosthenes

์—๋ผํ† ์Šคํ…Œ๋„ค์Šค์˜ ์ฒด (Sieve of Eratosthenes) ์•Œ๊ณ ๋ฆฌ์ฆ˜ : ๊ณ ๋Œ€ ๊ทธ๋ฆฌ์Šค ์ˆ˜ํ•™์ž ์—๋ผํ† ์Šคํ…Œ๋„ค์Šค๊ฐ€ ๋ฐœ๊ฒฌํ•œ ๋ฐฉ๋ฒ•์œผ๋กœ ์†Œ์ˆ˜๋ฅผ ์ฐพ๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜ ์ฒด๋กœ ์น˜๋“ฏ์ด ์ˆซ์ž๋ฅผ ๊ฑธ๋Ÿฌ๋‚ด๋Š” ๋ฐฉ์‹. ์†Œ์ˆ˜์˜ ๋ฐฐ์ˆ˜๋ฅผ ๋ชจ๋‘ ์ง€์šฐ๋ฉด ๋‚˜๋จธ์ง€๋Š” ์†Œ์ˆ˜๊ฐ€ ๋œ๋‹ค ex ) 2 ~ 120 ์‚ฌ์ด์˜ ์†Œ์ˆ˜๋ฅผ ๊ตฌํ•˜๋Š” ๋ฐฉ๋ฒ• 1. 2๋ถ€ํ„ฐ ์†Œ์ˆ˜๋ฅผ ๊ตฌํ•˜๊ณ ์ž ํ•˜๋Š” ๊ตฌ๊ฐ„์˜ ๋ชจ๋“  ์ˆ˜๋ฅผ ๋‚˜์—ดํ•œ๋‹ค. ๊ทธ๋ฆผ์—์„œ ํšŒ์ƒ‰ ์‚ฌ๊ฐํ˜•์œผ๋กœ ๋‘๋ฅธ ์ˆ˜๋“ค์ด ์—ฌ๊ธฐ์— ํ•ด๋‹นํ•œ๋‹ค. 2. 2๋Š” ์†Œ์ˆ˜์ด๋ฏ€๋กœ ์˜ค๋ฅธ์ชฝ์— 2๋ฅผ ์“ด๋‹ค. (๋นจ๊ฐ„์ƒ‰) 3. ์ž๊ธฐ ์ž์‹ ์„ ์ œ์™ธํ•œ 2์˜ ๋ฐฐ์ˆ˜๋ฅผ ๋ชจ๋‘ ์ง€์šด๋‹ค. 4. ๋‚จ์•„์žˆ๋Š” ์ˆ˜ ๊ฐ€์šด๋ฐ 3์€ ์†Œ์ˆ˜์ด๋ฏ€๋กœ ์˜ค๋ฅธ์ชฝ์— 3์„ ์“ด๋‹ค. (์ดˆ๋ก์ƒ‰) 5. ์ž๊ธฐ ์ž์‹ ์„ ์ œ์™ธํ•œ 3์˜ ๋ฐฐ์ˆ˜๋ฅผ ๋ชจ๋‘ ์ง€์šด๋‹ค. 6. ๋‚จ์•„์žˆ๋Š” ์ˆ˜ ๊ฐ€์šด๋ฐ 5๋Š” ์†Œ์ˆ˜์ด๋ฏ€๋กœ ์˜ค๋ฅธ์ชฝ์— 5๋ฅผ ์“ด๋‹ค. (ํŒŒ๋ž€์ƒ‰) 7. ์ž..