๋ถ„๋ฅ˜ ์ „์ฒด๋ณด๊ธฐ 55

์ •๋ ฌ ์•Œ๊ณ ๋ฆฌ์ฆ˜ 2 - ์„ ํƒ ์ •๋ ฌ(selection sort)

์„ ํƒ ์ •๋ ฌ์€ ์ •๋ ฌ๋˜์ง€ ์•Š์€ ์˜์—ญ์—์„œ ์ตœ์†Ÿ๊ฐ’์„ ์„ ํƒํ•œ ๋’ค, ์ •๋ ฌ๋˜์ง€ ์•Š์€ ์˜์—ญ์˜ ์ฒซ๋ฒˆ์งธ ์š”์†Œ์™€ ๋ฐ”๊พธ๊ณ  ๊ณ ์ •์‹œํ‚ค๋Š” ๊ณผ์ •์„ ๋ฐ˜๋ณตํ•˜๋Š” ์ •๋ ฌ ๋ฐฉ์‹์ด๋‹ค. ๋ฌผ๋ก  ์ตœ๋Œ“๊ฐ’์„ ์ด์šฉํ•œ ์ •๋ ฌ๋„ ๊ฐ€๋Šฅํ•˜๋‹ค. ์‹œ๊ฐ„ ๋ณต์žก๋„๋Š” ๋ฒ„๋ธ” ์ •๋ ฌ๊ณผ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ O(n**2)์ด๋‹ค. ์•„๋ž˜์˜ ๋ฐฐ์—ด์— ๋Œ€ํ•œ ์˜ค๋ฆ„์ฐจ์ˆœ ์„ ํƒ ์ •๋ ฌ์„ ์‹ค์‹œํ•ด๋ณด์ž. ๋จผ์ €, ์ „์ฒด ๊ตฌ๊ฐ„์—์„œ ๊ฐ€์žฅ ์ž‘์€ ์š”์†Œ๋ฅผ ์„ ํƒํ•œ๋‹ค. 1์ด ์„ ํƒ๋  ๊ฒƒ์ด๋‹ค. ์ด๋ ‡๊ฒŒ ์„ ํƒ๋œ 1์„ ๊ฐ€์žฅ ์™ผ์ชฝ์— ์œ„์น˜ํ•œ 2์™€ ์„œ๋กœ ๋งž๋ฐ”๊พผ ๋’ค, ๊ณ ์ •์‹œํ‚จ๋‹ค. ๋‹ค์‹œ ์ •๋ ฌ๋˜์ง€ ์•Š์€ ์˜์—ญ์—์„œ ๊ฐ€์žฅ ์ž‘์€ ์š”์†Œ๋ฅผ ์„ ํƒํ•œ๋‹ค. 1์€ ์ด๋ฏธ ๊ณ ์ •๋˜์—ˆ์œผ๋ฏ€๋กœ 2๊ฐ€ ์ตœ์†Ÿ๊ฐ’์ด๋‹ค. ์ˆœ์„œ๊ฐ€ ๊ณ ์ • ๋˜์ง€ ์•Š์€ ๋ฐฐ์—ด์˜ ์ œ์ผ ์™ผ์ชฝ์— ์œ„์น˜ํ•œ ์š”์†Œ์™€ ์„œ๋กœ ์ž๋ฆฌ๋ฅผ ๋ฐ”๊พธ์–ด์ค€๋‹ค. 2 ์—ญ์‹œ ์•ž์œผ๋กœ ์œ„์น˜๋ฅผ ๋ฐ”๊พธ์ง€ ์•Š์„ ๊ฒƒ์ด๋‹ค. ์œ„์น˜๊ฐ€ ๊ณ ์ •๋œ ๊ฒƒ์ด๋‹ค. ๊ฐ™์€ ๊ณผ์ •์„ ๊ณ„์† ๋ฐ˜๋ณต..

์ •๋ ฌ ์•Œ๊ณ ๋ฆฌ์ฆ˜ 1 - ๋ฒ„๋ธ” ์ •๋ ฌ(bubble sort)

๋ฒ„๋ธ” ์ •๋ ฌ์€ ๋ฐฐ์—ด ๋‚ด ์ธ์ ‘ํ•œ ๋‘ ์š”์†Œ๋ฅผ ๋น„๊ตํ•˜๋Š” ๊ณผ์ •์„ ๋ฐ˜๋ณตํ•˜์—ฌ ์ œ์ผ ํฐ ์š”์†Œ๋ฅผ ๋งจ ๋์œผ๋กœ ์ด๋™์‹œํ‚ค๋Š” ์ •๋ ฌ ๋ฐฉ์‹์ด๋‹ค. ์‹œ๊ฐ„๋ณต์žก๋„๋Š” O(N**2)๋กœ ํšจ์œจ์ ์ธ ์ •๋ ฌ ๋ฐฉ์‹์€ ์•„๋‹ˆ๋‹ค. ์•„๋ž˜์˜ ๋ฐฐ์—ด์„ ๋ฒ„๋ธ” ์ •๋ ฌ์„ ์ด์šฉํ•ด ์˜ค๋ฆ„์ฐจ์ˆœ์œผ๋กœ ๋‚˜ํƒ€๋‚ด๋ณด์ž. ์ง€๊ธˆ๋ถ€ํ„ฐ ์ธ๋ฑ์Šค๋Š” i๋กœ ํ‘œํ˜„ํ•˜๊ฒ ๋‹ค. ๋จผ์ €, i = 0๊ณผ i = 1์˜ ์š”์†Œ๋ฅผ ๋น„๊ตํ•œ๋‹ค. ๋” ํฐ ์ˆ˜๊ฐ€ ์™ผ์ชฝ์— ์žˆ์œผ๋ฏ€๋กœ ์„œ๋กœ ์œ„์น˜๋ฅผ ๋ฐ”๊ฟ”์ค€๋‹ค. i = 1๊ณผ i = 2๋ฅผ ๋น„๊ตํ•œ๋‹ค. ๋” ํฐ ์ˆ˜๊ฐ€ ์˜ค๋ฅธ์ชฝ์— ์žˆ์œผ๋ฏ€๋กœ ๋‹ค์Œ์œผ๋กœ ๋„˜์–ด๊ฐ„๋‹ค. i = 2์™€ i = 3์„ ๋น„๊ตํ•œ๋‹ค. ๋” ํฐ ์ˆ˜๊ฐ€ ์™ผ์ชฝ์— ์žˆ์œผ๋ฏ€๋กœ ์„œ๋กœ ์œ„์น˜๋ฅผ ๋ฐ”๊ฟ”์ค€๋‹ค. i = 3๊ณผ i = 4๋ฅผ ๋น„๊ตํ•œ๋‹ค. ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ ๋” ํฐ ์ˆ˜๊ฐ€ ์™ผ์ชฝ์— ์žˆ์œผ๋ฏ€๋กœ ์„œ๋กœ ์œ„์น˜๋ฅผ ๋ฐ”๊ฟ”์ค€๋‹ค. (len(array) - 1) ๋ฒˆ์˜ ์‹œํ–‰์„ ํ†ตํ•ด ๊ฐ€์žฅ ํฐ ์š”์†Œ์ธ 5..

๋ฐฑ์ค€ 1919 ์• ๋„ˆ๊ทธ๋žจ ๋งŒ๋“ค๊ธฐ - ํŒŒ์ด์ฌ

https://www.acmicpc.net/problem/1919 1919๋ฒˆ: ์• ๋„ˆ๊ทธ๋žจ ๋งŒ๋“ค๊ธฐ ๋‘ ์˜์–ด ๋‹จ์–ด๊ฐ€ ์ฒ ์ž์˜ ์ˆœ์„œ๋ฅผ ๋’ค๋ฐ”๊พธ์–ด ๊ฐ™์•„์งˆ ์ˆ˜ ์žˆ์„ ๋•Œ, ๊ทธ๋Ÿฌํ•œ ๋‘ ๋‹จ์–ด๋ฅผ ์„œ๋กœ ์• ๋„ˆ๊ทธ๋žจ ๊ด€๊ณ„์— ์žˆ๋‹ค๊ณ  ํ•œ๋‹ค. ์˜ˆ๋ฅผ ๋“ค๋ฉด occurs ๋ผ๋Š” ์˜์–ด ๋‹จ์–ด์™€ succor ๋Š” ์„œ๋กœ ์• ๋„ˆ๊ทธ๋žจ ๊ด€๊ณ„์— ์žˆ๋Š”๋ฐ, occurs www.acmicpc.net ๊ฐ๊ฐ์˜ ๋‹จ์–ด ํฌํ•จ๋œ ์•ŒํŒŒ๋ฒณ์˜ ์ข…๋ฅ˜์™€ ๊ฐœ์ˆ˜๋ฅผ ์นด์šดํŒ…ํ•œ ๋’ค, ๊ทธ ์ฐจ์ด๋ฅผ ์ด์šฉํ•˜๋ฉด ๋‹ต์„ ๊ตฌํ•  ์ˆ˜ ์žˆ๋‹ค. #1: key๊ฐ’์ด ์•ŒํŒŒ๋ฒณ ์†Œ๋ฌธ์ž์ด๊ณ , value๊ฐ’์ด 0์ธ dictionary๋ฅผ ๋งŒ๋“ค์—ˆ๋‹ค. #2: ์ฒซ๋ฒˆ์งธ ๋‹จ์–ด๋ฅผ input ๋ฐ›๊ณ , ๊ทธ ๋‹จ์–ด์—์„œ ์•ŒํŒŒ๋ฒณ์ด ํ•˜๋‚˜ ๋‚˜์˜ฌ ๋•Œ๋งˆ๋‹ค ํ•ด๋‹น ์•ŒํŒŒ๋ฒณ์— ๋Œ€ํ•œ dictionary value๊ฐ’์ด 1์”ฉ ์ฆ๊ฐ€ํ•˜๋„๋ก ํ–ˆ๋‹ค. #3: ๋‘๋ฒˆ์งธ ๋‹จ์–ด๋ฅผ input..

๋ฐฑ์ค€ 2022.03.26

๋ฐฑ์ค€ 2292 ๋ฒŒ์ง‘ - ํŒŒ์ด์ฌ

https://www.acmicpc.net/problem/2292 2292๋ฒˆ: ๋ฒŒ์ง‘ ์œ„์˜ ๊ทธ๋ฆผ๊ณผ ๊ฐ™์ด ์œก๊ฐํ˜•์œผ๋กœ ์ด๋ฃจ์–ด์ง„ ๋ฒŒ์ง‘์ด ์žˆ๋‹ค. ๊ทธ๋ฆผ์—์„œ ๋ณด๋Š” ๋ฐ”์™€ ๊ฐ™์ด ์ค‘์•™์˜ ๋ฐฉ 1๋ถ€ํ„ฐ ์‹œ์ž‘ํ•ด์„œ ์ด์›ƒํ•˜๋Š” ๋ฐฉ์— ๋Œ์•„๊ฐ€๋ฉด์„œ 1์”ฉ ์ฆ๊ฐ€ํ•˜๋Š” ๋ฒˆํ˜ธ๋ฅผ ์ฃผ์†Œ๋กœ ๋งค๊ธธ ์ˆ˜ ์žˆ๋‹ค. ์ˆซ์ž N์ด ์ฃผ์–ด์กŒ www.acmicpc.net ์ฃผ์–ด์ง„ ์ˆซ์ž๊ฐ€ ๋ฒŒ์ง‘์˜ ์ค‘์•™(1)์—์„œ๋ถ€ํ„ฐ ๋ช‡ ๋ฒˆ์งธ ์ค„์— ๋‚˜ํƒ€๋‚˜๋Š” ์ง€๋ฅผ ์ฐพ์•„์•ผ ํ•˜๋Š” ๋ฌธ์ œ์ด๋‹ค. ์ˆ˜ํ•™๋ฌธ์ œ์ด๊ธฐ ๋•Œ๋ฌธ์— ๊ทœ์น™ ๋ถ€ํ„ฐ ์ฐพ์•„๋ณด์•˜๋‹ค. ์ˆซ์ž(N) ๋‹ต ๊ทœ์น™(๋งˆ์ง€๋ง‰ ์ˆ˜์™€ ๊ด€๋ จ๋œ) 1 1 1 + 6 * 0 2 ~ 7 2 1 + 6 * 0 + 6 * 1 8 ~ 19 3 1 + 6 * 0 + 6 * 1 20 ~ 37 4 1 + 6 * 0 + 6 * 1 + 6 * 2 38 ~ 61 5 1 + 6 * 0 + 6 * 1..

๋ฐฑ์ค€ 2022.03.26

๋ฐฑ์ค€ 2563 ์ƒ‰์ข…์ด - ํŒŒ์ด์ฌ

https://www.acmicpc.net/problem/2563 2563๋ฒˆ: ์ƒ‰์ข…์ด ๊ฐ€๋กœ, ์„ธ๋กœ์˜ ํฌ๊ธฐ๊ฐ€ ๊ฐ๊ฐ 100์ธ ์ •์‚ฌ๊ฐํ˜• ๋ชจ์–‘์˜ ํฐ์ƒ‰ ๋„ํ™”์ง€๊ฐ€ ์žˆ๋‹ค. ์ด ๋„ํ™”์ง€ ์œ„์— ๊ฐ€๋กœ, ์„ธ๋กœ์˜ ํฌ๊ธฐ๊ฐ€ ๊ฐ๊ฐ 10์ธ ์ •์‚ฌ๊ฐํ˜• ๋ชจ์–‘์˜ ๊ฒ€์€์ƒ‰ ์ƒ‰์ข…์ด๋ฅผ ์ƒ‰์ข…์ด์˜ ๋ณ€๊ณผ ๋„ํ™”์ง€์˜ ๋ณ€์ด ํ‰ํ–‰ํ•˜๋„๋ก www.acmicpc.net ์ฒ˜์Œ์—๋Š” ์ˆ˜ํ•™ ๋ฌธ์ œ๋กœ ์ ‘๊ทผํ•ด์„œ ์ƒ‰์ข…์ด์˜ ๋ฉด์ ์„ ๋‹ค ๋”ํ•œ ๋’ค, ๊ฒน์น˜๋Š” ๋ถ€๋ถ„์˜ ๋ฉด์ ์„ ์ฒดํฌํ•ด์„œ ๋นผ๋ ค๊ณ  ํ–ˆ๋‹ค. ํ•˜์ง€๋งŒ ์ƒ‰์ข…์ด 3๊ฐœ ์ด์ƒ์ด ๋™์‹œ์— ๊ฒน์น˜๊ฑฐ๋‚˜ ํ•  ๋•Œ, ๋ชจ๋“  ๊ฒฝ์šฐ๋ฅผ ํ™•์ธํ•˜๊ธฐ๊ฐ€ ์–ด๋ ค์›Œ์„œ ๊ทธ๋ƒฅ 2์ฐจ์› ๋ฐฐ์—ด ๋…ธ๊ฐ€๋‹ค๋กœ ํ’€์—ˆ๋‹ค. #1 : 100 * 100์˜ 2์ฐจ์› array๋ฅผ ๋งŒ๋“ค์—ˆ๋‹ค. > array ๋‚ด์˜ ์š”์†Œ๋“ค์€ ๊ฐ๊ฐ ๋„ํ™”์ง€๋ฅผ 1/100์œผ๋กœ ๋‚˜๋ˆˆ ํ•œ ์นธ์„ ์˜๋ฏธํ•œ๋‹ค. #2 : ๊ฐ๊ฐ์˜ ์ƒ‰์ข…์ด๊ฐ€ ์ฐจ์ง€ํ•˜๋Š” ๋ถ€..

๋ฐฑ์ค€ 2022.03.26