๋ฐ˜๊ฐ€์›Œ์š”! ํ—ˆ๋ธŒ์ž…๋‹ˆ๋‹ค!

์ €๋Š” ๊ฐœ๋ฐœ์ž๋ฅผ ํ˜„๋Œ€ ์—ฐ๊ธˆ์ˆ ์‚ฌ๋ผ๊ณ  ํ‘œํ˜„ํ•˜๊ณ  ์‹ถ์Šต๋‹ˆ๋‹ค. ๊ฐœ๋ฐœ์„ ๊ณต๋ถ€ํ•˜๋ฉฐ ๋Š๋‚€ ์ ๋“ค๊ณผ ์ด์•ผ๊ธฐ๋ฅผ ๊ธฐ๋กํ•˜๋Š” ๊ณต๊ฐ„์ž…๋‹ˆ๋‹ค.

์•Œ๊ณ ๋ฆฌ์ฆ˜ 17

[๋ฐฑ์ค€] 2752 : ์„ธ ์ˆ˜ ์ •๋ ฌ

์•ˆ๋…•ํ•˜์„ธ์š” ์ฃผ์ธ์žฅ H์ž…๋‹ˆ๋‹ค. https://www.acmicpc.net/problem/2752 2752๋ฒˆ: ์„ธ์ˆ˜์ •๋ ฌ ์ˆซ์ž ์„ธ ๊ฐœ๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. ์ด ์ˆซ์ž๋Š” 1๋ณด๋‹ค ํฌ๊ฑฐ๋‚˜ ๊ฐ™๊ณ , 1,000,000๋ณด๋‹ค ์ž‘๊ฑฐ๋‚˜ ๊ฐ™๋‹ค. ์ด ์ˆซ์ž๋Š” ๋ชจ๋‘ ๋‹ค๋ฅด๋‹ค. www.acmicpc.net ๋™๊ทœ๋Š” ์„ธ์ˆ˜๋ฅผ ํ•˜๋‹ค๊ฐ€ ์ •๋ ฌ์ด ํ•˜๊ณ ์‹ถ์–ด์กŒ๋‹ค. ์ˆซ์ž ์„ธ ๊ฐœ๋ฅผ ์ƒ๊ฐํ•œ ๋’ค์—, ์ด๋ฅผ ์˜ค๋ฆ„์ฐจ์ˆœ์œผ๋กœ ์ •๋ ฌํ•˜๊ณ  ์‹ถ์–ด ์กŒ๋‹ค. ์ˆซ์ž ์„ธ ๊ฐœ๊ฐ€ ์ฃผ์–ด์กŒ์„ ๋•Œ, ๊ฐ€์žฅ ์ž‘์€ ์ˆ˜, ๊ทธ ๋‹ค์Œ ์ˆ˜, ๊ฐ€์žฅ ํฐ ์ˆ˜๋ฅผ ์ถœ๋ ฅํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์‹œ์˜ค. ์ž…๋ ฅ ์ˆซ์ž ์„ธ ๊ฐœ๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. ์ด ์ˆซ์ž๋Š” 1๋ณด๋‹ค ํฌ๊ฑฐ๋‚˜ ๊ฐ™๊ณ , 1,000,000๋ณด๋‹ค ์ž‘๊ฑฐ๋‚˜ ๊ฐ™๋‹ค. ์ด ์ˆซ์ž๋Š” ๋ชจ๋‘ ๋‹ค๋ฅด๋‹ค. ์ถœ๋ ฅ ์ œ์ผ ์ž‘์€ ์ˆ˜, ๊ทธ ๋‹ค์Œ ์ˆ˜, ์ œ์ผ ํฐ ์ˆ˜๋ฅผ ์ฐจ๋ก€๋Œ€๋กœ ์ถœ๋ ฅํ•œ๋‹ค. ์˜ˆ์ œ ์ž…๋ ฅ 1 3 1 2 ์˜ˆ์ œ ์ถœ๋ ฅ 1 ..

[๋ฐฑ์ค€] 2751๋ฒˆ : ์ˆ˜ ์ •๋ ฌํ•˜๊ธฐ 2

์•ˆ๋…•ํ•˜์„ธ์š” ์ฃผ์ธ์žฅ H์ž…๋‹ˆ๋‹ค. https://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๊ฐœ์˜ ์ค„์— ์˜ค๋ฆ„์ฐจ์ˆœ์œผ๋กœ ์ •๋ ฌํ•œ ๊ฒฐ๊ณผ๋ฅผ ํ•œ ์ค„์— ํ•˜..

[๋ฐฑ์ค€]์ˆ˜ ์ •๋ ฌํ•˜๊ธฐ 2750

์•ˆ๋…•ํ•˜์„ธ์š” ์ฃผ์ธ์žฅ H์ž…๋‹ˆ๋‹ค. https://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๊ฐœ์˜ ์ค„์— ์˜ค๋ฆ„์ฐจ์ˆœ์œผ๋กœ ์ •๋ ฌํ•œ ๊ฒฐ๊ณผ๋ฅผ ํ•œ ์ค„์— ํ•˜๋‚˜์”ฉ ์ถœ๋ ฅํ•œ๋‹ค. ์˜ˆ์ œ ์ž…๋ ฅ 1 ๋ณต..

[์ž๋ฃŒ๊ตฌ์กฐ] ํ€ต์ •๋ ฌ Quick Sort

์•ˆ๋…•ํ•˜์„ธ์š” ์ฃผ์ธ์žฅ H์ž…๋‹ˆ๋‹ค. ์˜ค๋Š˜์€ ํ€ต์ •๋ ฌ์— ๋Œ€ํ•ด ์•Œ์•„๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. ์ง€๊ธˆ๊นŒ์ง€ ๋ฐฐ์šด ์ •๋ ฌ์€ ์‹œ๊ฐ„๋ณต์žก๋„ O(N^2)๋ฅผ ๊ฐ€์ง„ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ์ด์˜€์Šต๋‹ˆ๋‹ค. ์ฒ˜๋ฆฌํ•  ๋ฐ์ดํ„ฐ๊ฐ€ ๋งŽ๋‹ค๋ฉด ์‚ฌ์šฉํ•˜๊ธฐ์— ๋ถ€๋‹ด์ด ๋˜๊ฒ ์ง€์š”. ๊ทธ๋ ‡๊ธฐ์— ๋Œ€ํ‘œ์ ์ธ ๋น ๋ฅธ ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด ๋ฐ”๋กœ ํ€ต์ •๋ ฌ์ž…๋‹ˆ๋‹ค. ํ€ต์ •๋ ฌ์€ ๋Œ€ํ‘œ์ ์ธ ๋ถ„ํ•  ์ •๋ณต ์•Œ๊ณ ๋ฆฌ์ฆ˜์œผ๋กœ์„œ ํ‰๊ท ์†๋„๊ฐ€ O(N*log N)์ž…๋‹ˆ๋‹ค. 1~10๊นŒ์ง€์˜ ๋ฌด์งˆ์„œํ•œ ์ˆซ์ž๋ฅผ ์˜ค๋ฆ„์ฐจ์ˆœ์œผ๋กœ ์ •๋ฆฌํ•œ๋‹ค๊ณ  ํ• ๋•Œ, ํ€ต ์ •๋ ฌ์€ ํ•˜๋‚˜์˜ ํฐ ๋ฌธ์ œ๋ฅผ ๋‘ ๊ฐœ์˜ ์ž‘์€ ๋ฌธ์ œ๋กœ ๋ถ„ํ• ํ•˜๋Š” ์‹์œผ๋กœ ๋น ๋ฅด๊ฒŒ ์ •๋ ฌํ•ฉ๋‹ˆ๋‹ค. ํŠน์ •ํ•œ ๊ฐ’(ํ”ผ๋ฒ—pivot)์„ ๊ธฐ์ค€์œผ๋กœ ํฐ ์ˆซ์ž์™€ ์ž‘์€ ์ˆซ์ž๋ฅผ ์„œ๋กœ ๊ตํ™˜ํ•œ ๋’ค์— ๋ฐฐ์—ด์„ ๋ฐ˜์œผ๋กœ ๋‚˜๋ˆ•๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ๋“ค์–ด (1) 10 5 8 7 6 4 3 2 9 ๋ผ๋Š” ์ˆซ์ž๊ฐ€ ์žˆ๋‹ค๊ณ  ๊ฐ€์ •ํ•ฉ๋‹ˆ๋‹ค. ์ด ๊ฒฝ์šฐ 1๋ณด๋‹ค ํฐ ์ˆซ์ž๋ฅผ ์™ผ์ชฝ์—์„œ, 1๋ณด๋‹ค ํฐ ์ˆซ์ž๋ฅผ..

[์ž๋ฃŒ๊ตฌ์กฐ] ๋ฒ„๋ธ”์ •๋ ฌ Bubble Sort

์•ˆ๋…•ํ•˜์„ธ์š” ์ฃผ์ธ์žฅ H์ž…๋‹ˆ๋‹ค. ์˜ค๋Š˜์€ ๋ฒ„๋ธ”์ •๋ ฌ์— ๋Œ€ํ•ด ์•Œ์•„๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. ๋ฒ„๋ธ” ์ •๋ ฌ์€ 1~10๊นŒ์ง€์˜ ๋ฌด์งˆ์„œํ•œ ์ˆซ์ž๋ฅผ ์˜ค๋ฆ„์ฐจ์ˆœ์œผ๋กœ ์ •๋ ฌํ•œ๋‹ค๋ผ๊ณ  ํ• ๋•Œ, ์ž์‹ ๋ณด๋‹ค ํฐ ์ˆ˜๊ฐ€ ์™ผ์ชฝ์— ์žˆ๋‹ค๋ฉด ์ž๋ฆฌ๋ฅผ ์„œ๋กœ ๋ฐ”๊พธ๋ฉด ์–ด๋–จ๊นŒ?๋ž€ ์•„์ด๋””์–ด์—์„œ ์‹œ์ž‘ํ•ฉ๋‹ˆ๋‹ค. ๋ฒ„๋ธ” ์ •๋ ฌ์€ ์ •๋ ฌ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ์ค‘์—์„œ ๊ฐ€์žฅ ์‰ฝ์ง€๋งŒ ๊ฐ€์žฅ ๋น„ํšจ์œจ์ ์ธ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ์ž…๋‹ˆ๋‹ค. ์ด ๊ณผ์ •์—์„œ ๊ฐ ์‹ธ์ดํด๋งˆ๋‹ค ๊ฐ€์žฅ ํฐ ๊ฐ’์ด ๋งจ ๋’ค๋กœ ๋ณด๋‚ด์ง€๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. ์ปดํ“จํ„ฐ ๋‚ด๋ถ€์ ์ธ ์—ฐ์‚ฐ์ด ๊ฐ€์žฅ ๋น„ํšจ์œจ์ ์œผ๋กœ ์ผ์–ด๋‚˜๊ฒŒ ๋˜์–ด ์‹ค์ œ ์ˆ˜ํ–‰์‹œ๊ฐ„์ด ๊ฐ€์žฅ ๋Š๋ฆฐ ์•ˆ ์ข‹์€ ์•Œ๊ณ ๋ฆฌ์ฆ˜์ž…๋‹ˆ๋‹ค. ์‹œ๊ฐ„๋ณต์žก๋„๋Š” ์„ ํƒ์ •๋ ฌ, ์‚ฝ์ž…์ •๋ ฌ๊ณผ ๋™์ผํ•œ O(N^2)์ž…๋‹ˆ๋‹ค. #include int main(void) { int i, j, temp; int arr[10] = { 1,3,2,5,7,6,10,9,8,4 }; for (i = 0..

Selection Sort ์„ ํƒ์ •๋ ฌ

์•ˆ๋…•ํ•˜์„ธ์š”. ์ฃผ์ธ์žฅ H์ž…๋‹ˆ๋‹ค. ์˜ค๋Š˜์€ ์„ ํƒ์ •๋ ฌ์— ๋Œ€ํ•ด์„œ ์•Œ์•„๋ณผ๊ฑด๋ฐ์š”. 1~10 ๊นŒ์ง€ ๋ฌด์งˆ์„œํ•œ ์ˆซ์ž๋ฅผ ์˜ค๋ฆ„์ฐจ์ˆœ์œผ๋กœ ์ •๋ ฌํ•œ๋‹ค. ๋ผ๊ณ  ํ•œ๋‹ค๋ฉด ์„ ํƒ์ •๋ ฌ์€ ๊ฐ€์žฅ ์ž‘์€ ๊ฒƒ์„ ์„ ํƒํ•ด์„œ ์ œ์ผ ์•ž์œผ๋กœ ๋ณด๋‚ด๋ฉด ์–ด๋–จ๊นŒ? ๋ผ๋Š” ๊ณ ๋ฏผ์—์„œ ์‹œ์ž‘ํ–ˆ์Šต๋‹ˆ๋‹ค. ๊ฐ€์žฅ ๊ธฐ์ดˆ์ ์ธ ์ •๋ ฌ์ด๋ผ๊ณ  ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์„ ํƒ์ •๋ ฌ์€ ๋Œ€๋žต N* (N+1)/2 ๋ฒˆ์˜ ์—ฐ์‚ฐ์„ ์ˆ˜ํ–‰ํ•˜๋Š”๋ฐ์š”. ๋น… ์˜ค ํ‘œ๊ธฐ๋ฒ•์œผ๋กœ ํ•˜๊ฒŒ๋œ๋‹ค๋ฉด O(N^2)๊ฐ€ ๋ฉ๋‹ˆ๋‹ค. ์ฆ‰, ์„ ํƒ ์ •๋ ฌ์˜ ์‹œ๊ฐ„ ๋ณต์žก๋„๋Š” O(N^2). // 1 ~ 10 ๊นŒ์ง€ ์ •๋ ฌ ํ•˜๊ธฐ #include int main(void) { int arr[10] = { 1,3,2,5,7,6,10,9,8,4 }; int i, j, index, temp; for (i = 0; i < 10; i++) { int min = 11; for (j ..

[c์–ธ์–ด] ์žฌ๊ท€ํ•จ์ˆ˜ ํŒฉํ† ๋ฆฌ์–ผ ์•Œ๊ณ ๋ฆฌ์ฆ˜

์•ˆ๋…•ํ•˜์„ธ์š” modernAlchemist ์˜ H์ž…๋‹ˆ๋‹ค. ์˜ค๋Š˜์€ ์žฌ๊ท€ํ•จ์ˆ˜๋ฅผ ํ™œ์šฉํ•œ ํŒฉํ† ๋ฆฌ์–ผ ๊ณ„์‚ฐ์„ ํ•ด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. ํŒฉํ† ๋ฆฌ์–ผ์ด๋ž€ 5! = 5*4*3*2*1 ๊ณผ ๊ฐ™์€ ํ˜•ํƒœ๋กœ n๋ถ€ํ„ฐ 1์”ฉ ๋นผ์„œ 1๊นŒ์ง€ ๊ณฑํ•˜๋Š” ๊ฒƒ์ด๋‹ค. ํ•ด๋‹น ์‹์„ ์žฌ๊ท€ ํ•จ์ˆ˜๋กœ ํ‘œํ˜„ํ•ด๋ณด๋ฉด ์•„๋ž˜์ฒ˜๋Ÿผ ์“ธ ์ˆ˜ ์žˆ๋‹ค. int fact(int a) { int result =0; printf("result %d\n",result); if (a == 1) { result = 1; } else { result = a * fact(a - 1); } return result; } ๊ทธ๋ฆฌ๊ณ  ์ด๊ฒƒ์„ for๋ฌธ์œผ๋กœ ์ด์šฉํ•ด๋ณด์ž๋ฉด int forFact(int n) { int index; int result = 1; for (index = n; index >= 1; index--) {..