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

๐Ÿ’ป Programming/์ฝ”๋”ฉ ํ…Œ์ŠคํŠธ3

์ฝ”๋”ฉ ํ…Œ์ŠคํŠธ๋ฅผ ์œ„ํ•œ '์•Œ๊ณ ๋ฆฌ์ฆ˜' ์•Œ๊ณ ๋ฆฌ์ฆ˜์€ ์ฃผ์–ด์ง„ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๋Š” ๋‹จ๊ณ„์ ์ธ ์ ˆ์ฐจ์ด๋‹ค. ํšจ์œจ์ ์ธ ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์„ ํƒํ•˜๋ฉด ์‹œ๊ฐ„๊ณผ ๊ณต๊ฐ„์„ ์ ˆ์•ฝํ•  ์ˆ˜ ์žˆ๊ณ , ๋ฌธ์ œ๋ฅผ ๋” ๋น ๋ฅด๊ฒŒ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ๊ธฐ์— ์•Œ์•„๋‘ฌ์•ผ๊ฒ ์ง€? (๋งจ๋‚  ๊นŒ๋จน๋Š”๋‹ค)Brute Force๋ธŒ๋ฃจํŠธํฌ์Šค ์•Œ๊ณ ๋ฆฌ์ฆ˜์€ ๋ชจ๋“  ๊ฐ€๋Šฅํ•œ ๊ฒฝ์šฐ์˜ ์ˆ˜๋ฅผ ๋‹ค ๊ณ ๋ คํ•˜์—ฌ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๋Š” ๋ฐฉ๋ฒ•์ด๋‹ค. ์ด ์•Œ๊ณ ๋ฆฌ์ฆ˜์€ ๋งค์šฐ ์ง๊ด€์ ์ด๊ณ  ๊ตฌํ˜„ํ•˜๊ธฐ ์‰ฝ์ง€๋งŒ, ๊ฒฝ์šฐ์˜ ์ˆ˜๊ฐ€ ๋งŽ์„ ๊ฒฝ์šฐ ์‹œ๊ฐ„ ๋ณต์žก๋„๊ฐ€ ๋งค์šฐ ์ปค์งˆ ์ˆ˜ ์žˆ๋‹ค. ๋”ฐ๋ผ์„œ ์ฃผ๋กœ ์ œํ•œ์ด ์ ๊ฑฐ๋‚˜, ๋ฌธ์ œ์˜ ํฌ๊ธฐ๊ฐ€ ์ž‘์€ ๊ฒฝ์šฐ์— ์œ ์šฉํ•˜๋‹ค.ํŠน์ง•๋‹จ์ˆœํ•˜๊ณ  ์ง๊ด€์ : ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด ๋งค์šฐ ๊ฐ„๋‹จํ•˜๊ณ  ์ดํ•ดํ•˜๊ธฐ ์‰ฌ์›€.์‹œ๊ฐ„ ๋ณต์žก๋„: ๋ฌธ์ œ์˜ ํฌ๊ธฐ์— ๋”ฐ๋ผ O(n^2), O(n!)์™€ ๊ฐ™์€ ๋†’์€ ์‹œ๊ฐ„ ๋ณต์žก๋„๋ฅผ ๊ฐ€์งˆ ์ˆ˜ ์žˆ์Œ.๋ชจ๋“  ๊ฒฝ์šฐ์˜ ์ˆ˜๋ฅผ ์‹œ๋„: ์ตœ์ ํ™”๋œ ๋ฐฉ๋ฒ•์„ ์‚ฌ์šฉํ•˜์ง€ ์•Š๊ณ , ๊ฐ€๋Šฅํ•œ ๋ชจ๋“  ๊ฒฝ์šฐ๋ฅผ ์‹œ๋„ํ•˜๋Š” ๋ฐฉ์‹์ด๋‹ค.. 2025. 1. 16.
์ฝ”๋”ฉ ํ…Œ์ŠคํŠธ๋ฅผ ์œ„ํ•œ '์ž๋ฃŒ ๊ตฌ์กฐ' ์ž๋ฃŒ๊ตฌ์กฐ๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ํšจ์œจ์ ์œผ๋กœ ์ €์žฅํ•˜๊ณ  ๊ด€๋ฆฌํ•˜๋Š” ๋ฐฉ์‹ ๋˜๋Š” ๋ฐฉ๋ฒ•์ด๋‹ค. ์ฝ”๋”ฉ ํ…Œ์ŠคํŠธ์—์„œ๋Š” ๊ฐ ์ž๋ฃŒ ๊ตฌ์กฐ์˜ ํŠน์„ฑ์„ ์ดํ•ดํ•˜๊ณ , ๋ฌธ์ œ์— ๋งž๊ฒŒ ์„ ํƒํ•˜๋Š” ๊ฒƒ์ด ์ค‘์š”ํ•˜๋‹ค...๋Š” ๋ง์€ ์ง„๋ถ€ํ•˜๊ณ  ์•ˆ ๊นŒ๋จน๊ฒŒ ์ ์–ด๋ผ๋„ ๋‘”๋‹ค. 1. ๋ฆฌ์ŠคํŠธ (List)๋ฆฌ์ŠคํŠธ๋Š” ์ˆœ์„œ๊ฐ€ ์žˆ๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•˜๋Š” ์ž๋ฃŒ ๊ตฌ์กฐ๋กœ, ์ธ๋ฑ์Šค๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋น ๋ฅด๊ฒŒ ๋ฐ์ดํ„ฐ์— ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๋‹ค. ํŒŒ์ด์ฌ์—์„œ ๊ฐ€์žฅ ๋งŽ์ด ์‚ฌ์šฉ๋˜๋Š” ์ž๋ฃŒ ๊ตฌ์กฐ์ž„.์‹œ๊ฐ„ ๋ณต์žก๋„: ์ธ๋ฑ์Šค ์ ‘๊ทผ O(1), ์‚ฝ์ž…/์‚ญ์ œ O(n) (์ค‘๊ฐ„์— ์‚ฝ์ž…/์‚ญ์ œ ์‹œ)์‚ฌ์šฉ ์‚ฌ๋ก€: ์ˆœ์ฐจ์ ์ธ ๋ฐ์ดํ„ฐ ์ €์žฅ, ์ธ๋ฑ์Šค ๊ธฐ๋ฐ˜ ์ ‘๊ทผ, ๋ฆฌ์ŠคํŠธ์˜ ๋์— ๋ฐ์ดํ„ฐ๋ฅผ ์ถ”๊ฐ€ํ•˜๊ฑฐ๋‚˜ ์ œ๊ฑฐํ•  ๋•Œ ์œ ์šฉ# ๋ฆฌ์ŠคํŠธ ์ƒ์„ฑarr = [1, 2, 3]# ๋ฆฌ์ŠคํŠธ์— ์š”์†Œ ์ถ”๊ฐ€arr.append(4) # O(1)# ์ธ๋ฑ์Šค๋ฅผ ํ†ตํ•œ ์š”์†Œ ์ ‘๊ทผprint(arr[2]).. 2025. 1. 15.
[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค] 'ํŒŒ์ด์ฌ์„ ํŒŒ์ด์ฌ๋‹ต๊ฒŒ' ๊ฐ•์˜ ์ •๋ฆฌ ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค 'ํŒŒ์ด์ฌ์„ ํŒŒ์ด์ฌ๋‹ต๊ฒŒ' ๊ฐ•์˜ ์ •๋ฆฌ https://programmers.co.kr/learn/courses/4008 ํŒŒ์ด์ฌ์„ ํŒŒ์ด์ฌ๋‹ต๊ฒŒ ๋ณธ ๊ฐ•์˜๋Š” ํŒŒ์ด์ฌ ๋ฌธ๋ฒ•์„ ์ด๋ฏธ ์•Œ๊ณ  ์žˆ๋Š” ๋ถ„๋“ค์„ ๋Œ€์ƒ์œผ๋กœ ๋งŒ๋“ค์–ด์กŒ์Šต๋‹ˆ๋‹ค. ##### ์ด๋Ÿฐ ๋ถ„๋“ค๊ป˜ ์ถ”์ฒœํ•ฉ๋‹ˆ๋‹ค * ํŒŒ์ด์ฌ ๋ฌธ๋ฒ•์„ ์•Œ๊ณ  ๊ณ„์‹œ๋Š” ๋ถ„ * ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋ฌธ์ œ๋ฅผ ์กฐ๊ธˆ ๋” ์‰ฝ๊ฒŒ ํ’€๊ณ  ์‹ถ์€ ๋ถ„ * Python ์ฝ” programmers.co.kr 1. ๋ชซ๊ณผ ๋‚˜๋จธ์ง€ : divmod() ํ•จ์ˆ˜ ์‚ฌ์šฉ # ๋‹ค๋ฅธ ์–ธ์–ด a = 7 b = 5 print(a//b, a%b) # ํŒŒ์ด์ฌ a = 7 b = 5 print(*divmod(a,b)) 2. n์ง„๋ฒ•์œผ๋กœ ํ‘œ๊ธฐ๋œ string ์„ 10์ง„๋ฒ• ์ˆซ์ž๋กœ ๋ณ€ํ™˜ํ•˜๊ธฐ # ํŒŒ์ด์ฌ # base(5)์ง„๋ฒ•์œผ๋กœ ํ‘œ๊ธฐ๋œ num(3212)๋ฅผ 10์ง„๋ฒ•์œผ๋กœ ๋ณ€.. 2021. 8. 3.
728x90