๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
728x90

Coding Test ์ฝ”๋”ฉํ…Œ์ŠคํŠธ13

Do it ์•Œ๊ณ ๋ฆฌ์ฆ˜ ์ฝ”๋”ฉํ…Œ์ŠคํŠธ ํ•˜๋ฃจ์ฝ”๋”ฉ 4์žฅ ์ •๋ ฌ ์ด๋ก  # 10 ๋ฒ„๋ธ”์ •๋ ฌ ์ธ์ ‘ํ•œ ๋ฐ์ดํ„ฐ๋ผ๋ฆฌ ํฌ๊ธฐ ๋น„๊ตํ•˜์—ฌ swap ์‹œ๊ฐ„ ๋ณต์žก๋„ O(n^2) // 1๋ฒˆ ๋ฃจํ”„๋‹น 1๊ฐœ ํ”ฝ์Šค 0๊ณผ 1 ๋น„๊ตํ•˜์—ฌ ์Šค์™‘, 1๊ณผ 2๋ฅผ ๋น„๊ตํ•˜์—ฌ ์Šค์™‘, ... ๋งจ๋’ค๊ฐ€ ์ •๋ ฌ๋œ ์˜์—ญ ์ •๋ ฌ๋œ ์˜์—ญ์„ ์ œ์™ธํ•˜๊ณ  0๊ณผ 1 ๋น„๊ตํ•˜์—ฌ ์Šค์™‘, 1๊ณผ 2๋ฅผ ๋น„๊ตํ•˜์—ฌ ์Šค์™‘, ... ๋งŒ์•ฝ ํŠน์ •ํ•œ ๋ฃจํ”„์˜ ์ „์ฒด ์˜์—ญ์—์„œ swap์ด ํ•œ ๋ฒˆ๋„ ๋ฐœ์ƒํ•˜์ง€ ์•Š์•˜๋‹ค๋ฉด, ๋ชจ๋‘ ์ •๋ ฌ๋˜์–ด ์žˆ๋‹ค๋Š” ๋œป์ด๋ฏ€๋กœ ๋” ์ด์ƒ ์ •๋ ฌ ์ˆ˜ํ–‰ํ•˜์ง€ ์•Š์•„๋„ ๋œ๋‹ค. # 11 ์„ ํƒ ์ •๋ ฌ ์ •๋ ฌ ํ•ด์•ผ ๋˜๋Š” ๋ฒ”์œ„์—์„œ ์ตœ์†Ÿ๊ฐ’ ๋˜๋Š” ์ตœ๋Œ“๊ฐ’์„ ์ฐพ๊ณ , ๋‚จ์€ ์ •๋ ฌ ํ•ด์•ผ ๋˜๋Š” ๋ถ€๋ถ„์˜ ๊ฐ€์žฅ ์•ž์— ์žˆ๋Š” ๋ฐ์ดํ„ฐ์™€ swap ์‹œ๊ฐ„ ๋ณต์žก๋„ O(n^2) // 1๋ฒˆ ๋ฃจํ”„๋‹น 1๊ฐœ ํ”ฝ์Šค # 12 ์‚ฝ์ž… ์ •๋ ฌ ์ด๋ฏธ ์ •๋ ฌ๋œ ๋ฐ์ดํ„ฐ์˜ ๋ฒ”์œ„์— ์ •๋ ฌ๋˜์ง€ ์•Š์€ ํ•˜๋‚˜์˜ ๋ฐ์ดํ„ฐ๋ฅผ ์ ์ ˆํ•œ ์œ„์น˜์— ์‚ฝ์ž…์‹œ์ผœ ์ •๋ ฌ .. 2022. 11. 17.
Do it ์•Œ๊ณ ๋ฆฌ์ฆ˜ ์ฝ”๋”ฉํ…Œ์ŠคํŠธ ํ•˜๋ฃจ์ฝ”๋”ฉ 3์žฅ ์ž๋ฃŒ๊ตฌ์กฐ ์ด๋ก  Do it ์•Œ๊ณ ๋ฆฌ์ฆ˜ ์ฝ”๋”ฉํ…Œ์ŠคํŠธ ํ•˜๋ฃจ์ฝ”๋”ฉ 3์žฅ ์ž๋ฃŒ๊ตฌ์กฐ ์š”์•ฝ # 5 ๋ฐฐ์—ด๊ณผ ๋ฆฌ์ŠคํŠธ java ๋ฐฐ์—ด ๋ฉ”๋ชจ๋ฆฌ์— ์—ฐ์†์ ์ธ ๊ณต๊ฐ„์— ๊ฐ’์„ ์ €์žฅํ•˜๋Š” ์ž๋ฃŒ๊ตฌ์กฐ ํŠน์ง• 1. ์ธ๋ฑ์‹ฑO, ์ ‘๊ทผ์†๋„ ↑ 2. ๊ฐ’ ์‚ฝ์ž…, ์‚ญ์ œ ๋ฒˆ๊ฑฐ๋กœ์›€, ์†๋„ ↓, ์ฃผ๋ณ€ ๊ฐ’ ์ด๋™์‹œํ‚ค๋Š” ๊ณผ์ • ํ•„์š” 3. ํฌ๊ธฐ ์„ ์–ธํ•  ๋•Œ ์ง€์ •O, ํฌ๊ธฐ ๊ณ ์ • 4. ๊ตฌ์กฐ ๊ฐ„๋‹จ ๋ฆฌ์ŠคํŠธ ๊ฐ’๊ณผ ํฌ์ธํ„ฐ๋ฅผ ๋ฌถ์€ ๋…ธ๋“œ๋ผ๋Š” ๊ฒƒ์„ ํฌ์ธํ„ฐ๋กœ ์—ฐ๊ฒฐํ•œ ์ž๋ฃŒ๊ตฌ์กฐ ํŠน์ง• 1. ์ธ๋ฑ์‹ฑX, ์ ‘๊ทผ์†๋„ ↓, Head ํฌ์ธํ„ฐ๋ถ€ํ„ฐ ์ˆœ์„œ๋Œ€๋กœ ์ ‘๊ทผํ•˜์—ฌ ์†๋„ ๋А๋ฆผ 2. ๊ฐ’ ์‚ฝ์ž…, ์‚ญ์ œ ํŽธ๋ฆฌ, ์†๋„ ↑, ์ฃผ๋ณ€ ๊ฐ’ ์ด๋™์‹œํ‚ค๋Š” ๊ณผ์ • ํ•„์š”X 3. ํฌ๊ธฐ ์„ ์–ธํ• ๋•Œ ์ง€์ •X, ํฌ๊ธฐ ๊ฐ€๋ณ€ 4. ๊ตฌ์กฐ ๋ณต์žก java์—์„œ๋Š” ArrayList LinkedList ์ƒํ™ฉ๋ณ„ ์œ ๋ฆฌํ•œ ์ž๋ฃŒ๊ตฌ์กฐ ๋ฐฐ์—ด: ํฌ๊ธฐ๊ณ ์ •, ๊ฐ’ ์ ‘๊ทผ ๋ฆฌ์ŠคํŠธ: ํฌ๊ธฐ๊ฐ€๋ณ€, ์‚ฝ์ž…,.. 2022. 11. 16.
Do it ์•Œ๊ณ ๋ฆฌ์ฆ˜ ์ฝ”๋”ฉํ…Œ์ŠคํŠธ ํ•˜๋ฃจ์ฝ”๋”ฉ 2์žฅ ๋””๋ฒ„๊น… ์ด๋ก  # 3 ๋””๋ฒ„๊น… java ๊ฐ€์žฅ ๋›ฐ์–ด๋‚œ ๋…ผ๋ฆฌ์˜ค๋ฅ˜ ํƒ์ƒ‰๋ฒ• ๊ตฌ๋ฌธ์˜ค๋ฅ˜ ๋…ผ๋ฆฌ์˜ค๋ฅ˜ ์ปดํŒŒ์ผ๋Ÿฌ ๋””๋ฒ„๊ฑฐ ๋กœ๊ทธ๋ณด๋‹ค ๋””๋ฒ„๊น…์ด ๋” ๋‚˜์€ ์Šคํ‚ฌ ๋‚˜๋ฌด ์ˆฒ ๊ฒฝ๊ณ„ํ•ด์•ผ ํ•˜๋Š” ๊ฒƒ ๊ฑฐ๊ธฐ๊ฐ€ ์˜ค๋ฅ˜๋ผ๊ณ  ์ง€์—ฝ์ ์œผ๋กœ ์–ต์ธกํ•˜์ง€ ์•Š๊ธฐ ๋””๋ฒ„๊น… ํ•˜๋Š” ๋ฒ• 1. ์ค‘๋‹จ์  break point ์ง€์ • 2. IDE์˜ ๋””๋ฒ„๊น… ๊ธฐ๋Šฅ ์‹คํ–‰ 3. ๋…ผ๋ฆฌ ์˜ค๋ฅ˜ ํƒ์ƒ‰ ์ฝ”๋”ฉํ…Œ์ŠคํŠธ์—์„œ ํ•˜๊ธฐ ์‰ฌ์šด ์˜ค๋ฅ˜ 1. ๋ณ€์ˆ˜ ์ดˆ๊ธฐํ™” ์˜ค๋ฅ˜ 2. ์ธ๋ฑ์Šค ์˜ค๋ฅ˜ 3. ์ž˜๋ชป๋œ ๋ณ€์ˆ˜ ์‚ฌ์šฉ ์˜ค๋ฅ˜ 4. ์ž๋ฃŒํ˜• ๋ฒ”์œ„ ์˜ค๋ฅ˜ java ์ž๋ฐ”์—์„œ๋Š” ์ฒ˜์Œ๋ถ€ํ„ฐ int ๋ง๊ณ  longํ˜•์œผ๋กœ ์„ ์–ธ ์Œ์ˆ˜๊ฐ€ ์•„๋‹ˆ์–ด์•ผ ํ•˜๋Š”๋ฐ ์™œ ์Œ์ˆ˜๊ฐ€ ๋‚˜์˜ค์ง€? ๋˜๋Š” ๋งค์šฐ ํฐ ์ˆ˜ 1. ํŒฉํ† ๋ฆฌ์–ผ 2. ๊ฒฝ์šฐ์˜ ์ˆ˜ 3. ์ˆœ์—ด 4. DP # 4 ๋””๋ฒ„๊น… python 5. ์ž๋™ ํ˜•๋ณ€ํ™˜ ์˜ค๋ฅ˜ python ํŒŒ์ด์ฌ์—์„œ๋Š” / ๋‚˜๋ˆ„๊ธฐ ์—ฐ์‚ฐ์ž์˜ ๊ฒฐ๊ณผ๊ฐ€ ํ•ญ์ƒ float /.. 2022. 11. 16.
Do it ์•Œ๊ณ ๋ฆฌ์ฆ˜ ์ฝ”๋”ฉํ…Œ์ŠคํŠธ ํ•˜๋ฃจ์ฝ”๋”ฉ 1์žฅ ์‹œ๊ฐ„๋ณต์žก๋„ ์ด๋ก  #1 ์‹œ๊ฐ„ ๋ณต์žก๋„ java ์•Œ๊ณ ๋ฆฌ์ฆ˜ ์„ ํƒ์˜ ๊ธฐ์ค€์ด ๋˜๋Š” ์‹œ๊ฐ„ ๋ณต์žก๋„ (by์†Œ๊ฑฐ๋ฒ•) ์‹œ๊ฐ„๋ณต์žก๋„ == ์ˆ˜ํ–‰์‹œ๊ฐ„ == ์—ฐ์‚ฐํšŸ์ˆ˜ ์ž๋ฐ” 1์ดˆ == 1์–ต๋ฒˆ ์‹œ๊ฐ„๋ณต์žก๋„ ์œ ํ˜• 1. ๋น…์˜ค๋ฉ”๊ฐ€: ์ตœ์„ (best case)์ผ ๋•Œ ์—ฐ์‚ฐ ํšŸ์ˆ˜, ์ฆ‰ 1 2. ๋น…์„ธํƒ€: ๋ณดํ†ต(average case)์ผ ๋•Œ ์—ฐ์‚ฐ ํšŸ์ˆ˜, ์ฆ‰ N/2 3. ๋น…์˜ค: ์ตœ์•…(worst case)์ผ ๋•Œ ์—ฐ์‚ฐ ํšŸ์ˆ˜, ์ฆ‰ N ์ฝ”๋”ฉํ…Œ์ŠคํŠธ์—์„œ๋Š” ์–ด๋–ค ์‹œ๊ฐ„ ๋ณต์žก๋„ ์œ ํ˜•์„ ์‚ฌ์šฉํ•ด์•ผ ํ• ๊นŒ? ๋น…์˜ค ํ‘œ๊ธฐ๋ฒ• ๋‹ค์–‘ํ•œ ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค๋ฅผ ์ˆ˜ํ–‰ํ•ด ๋ชจ๋‘ ํ†ต๊ณผํ•ด์•ผ ํ•˜๋ฏ€๋กœ ๋ฐ์ดํ„ฐ์˜ ํฌ๊ธฐ ์ฆ๊ฐ€์— ๋”ฐ๋ฅธ ์ˆ˜ํ–‰์‹œ๊ฐ„ ์ฆ๊ฐ€์œจ O(1) O(logn) O(n) O(nlogn) O(n^2) O(n^3) O(2^n) O(n!) ์—ฐ์‚ฐํšŸ์ˆ˜ ๊ณ„์‚ฐ๋ฐฉ๋ฒ• ์•Œ๊ณ ๋ฆฌ์ฆ˜์˜ ์‹œ๊ฐ„๋ณต์žก๋„์— ๋ฐ์ดํ„ฐ์˜ ์ตœ๋Œ€ ํฌ๊ธฐ N ๋Œ€์ž… ex) O(n^2.. 2022. 11. 12.
728x90