๋ชฉ๋กํ”„๋กœ๊ทธ๋ž˜๋ฐ (135)

Bibi's DevLog ๐Ÿค“๐ŸŽ

[Swift] ์—ฐ๊ฒฐ๋ฆฌ์ŠคํŠธ LinkedList, ์–‘๋ฐฉํ–ฅ ์—ฐ๊ฒฐ๋ฆฌ์ŠคํŠธ DoublyLinkedList

์—ฐ๊ฒฐ ๋ฆฌ์ŠคํŠธ๋ž€ ์—ฐ๊ฒฐ ๋ฆฌ์ŠคํŠธ๋Š” ๊ฐ ์š”์†Œ๊ฐ€ ๋…ธ๋“œ๋กœ ๋˜์–ด ์žˆ๋Š” ์—ฐ์†๋œ ๋ฐ์ดํ„ฐ๋“ค์ด๋‹ค. node ๋…ธ๋“œ : ์—ฐ๊ฒฐ ๋ฆฌ์ŠคํŠธ์˜ ํ•˜๋‚˜์˜ ์š”์†Œ๋ฅผ ๋งํ•จ head : ์—ฐ๊ฒฐ ๋ฆฌ์ŠคํŠธ์˜ ์‹œ์ž‘ ๋…ธ๋“œ๋ฅผ ์ฐธ์กฐํ•˜๋Š” ํฌ์ธํ„ฐ tail : ์—ฐ๊ฒฐ ๋ฆฌ์ŠคํŠธ์˜ ๋ ๋…ธ๋“œ๋ฅผ ์ฐธ์กฐํ•˜๋Š” ํฌ์ธํ„ฐ ์œ ํ˜• ๋‹จ๋ฐฉํ–ฅ ์—ฐ๊ฒฐ ๋ฆฌ์ŠคํŠธ singly linked list : ๊ฐ ํ•ญ๋ชฉ์ด ๋‹ค์Œ ๋…ธ๋“œ์— ๋Œ€ํ•œ ์ฐธ์กฐ๋งŒ ๊ฐ€์ง ์–‘๋ฐฉํ–ฅ ์—ฐ๊ฒฐ ๋ฆฌ์ŠคํŠธ doubly linked list : ๊ฐ ํ•ญ๋ชฉ์ด ์•ž, ๋’ค ๋…ธ๋“œ์— ๋Œ€ํ•œ ์ฐธ์กฐ๋ฅผ ๋ชจ๋‘ ๊ฐ€์ง ๋‹จ๋ฐฉํ–ฅ ์—ฐ๊ฒฐ ๋ฆฌ์ŠคํŠธ ๊ตฌํ˜„ํ•˜๊ธฐ (Swift) https://www.raywenderlich.com/books/data-structures-algorithms-in-swift/v3.0/chapters/6-linked-list ํ”„๋กœํ† ์ฝœ ์ฑ„ํƒํ•˜๋Š” ๋ถ€๋ถ„ ์ด์ „๊นŒ์ง€ ์ •๋ฆฌํ–ˆ์Šต..

[๋ฐฑ์ค€ 3004] ์ฒด์ŠคํŒ ์กฐ๊ฐ

3004๋ฒˆ: ์ฒด์ŠคํŒ ์กฐ๊ฐ ๋‚˜๋ฌดํŒ์„ n๋ฒˆ ์ž๋ฅผ ๋•Œ ์ตœ๋Œ€ ๋ช‡ ์กฐ๊ฐ ์ด ๋˜๋Š”์ง€ ์ถœ๋ ฅํ•˜๋Š” ๋ฌธ์ œ ํฌ๊ฒŒ ๋ฐ˜๋ณต๋ฌธ์œผ๋กœ ๊ตฌํ•˜๋Š” ๋ฐฉ๋ฒ•๊ณผ ๊ทœ์น™์„ ์ฐพ์•„ ๊ตฌํ•˜๋Š” ๋ฐฉ๋ฒ•์ด ์žˆ๋‹ค. ์‹œ๊ฐ„์ œํ•œ์— ๊ฑธ๋ฆด๊นŒ ๋ด ๊ทœ์น™์„ ์ฐพ๋Š” ๋ฐฉ์‹์œผ๋กœ ์ ‘๊ทผํ–ˆ๋‹ค. ๊ทผ๋ฐ ๊ฒฐ๊ตญ ์‚ฌ์šฉํ•œ ๊ฒŒ reduce๋ผ์„œ.. ์‰ฝ๊ฒŒ ๋ฐ˜๋ณต๋ฌธ์œผ๋กœ ์ ‘๊ทผํ• ๊ฑธ ์‹ถ๊ธฐ๋„. (์‹œ๊ฐ„์ œํ•œ์— ๊ฑธ๋ฆฌ์ง„ ์•Š๋Š” ๋“ฏ - n์˜ ์ตœ๋Œ“๊ฐ’์ด 100์ด๋ผ) ๊ทœ์น™ 1 : 2 2 : 4 3 : 6 4 : 9 5 : 12 6 : 16 7 : 20 8 : 25 9 : 30 10 : 36 ํ’€์ด1 (๋‚˜์˜ ํ’€์ด) 1์ผ๋•Œ ์ดˆ๊ธฐ๊ฐ’์ด 2, ๋‚˜๋จธ์ง€๋Š” +2 +2 +3 +3 +4 +4 .. ํŒจํ„ด n์ด ํ™€์ˆ˜์ผ ๋•Œ๋Š” ์ดˆ๊ธฐ๊ฐ’ 2์—, 2๋ถ€ํ„ฐ (n + 1) / 2 ๊นŒ์ง€ ๋”ํ•œ ๊ฐ’์˜ ๊ณฑํ•˜๊ธฐ 2 n=7 → 2 + (2…4) * 2 = 20 n์ด ์ง์ˆ˜์ผ ๋•Œ๋Š” ์ดˆ..