python

    [ํŒŒ์ด์ฌ | Python] Mutable object, Immutable object

    ํŒŒ์ด์ฌ์˜ ๋ชจ๋“  ๊ฒƒ์€ ๊ฐ์ฒด(object)์ด๋‹ค. ๊ฑฐ์˜ ๋ชจ๋“  ๊ฐ์ฒด๋Š” ์†์„ฑ(attributes)๊ณผ ๋ฉ”์„œ๋“œ(methods)๋กœ ์ด๋ฃจ์–ด์ ธ ์žˆ์œผ๋ฉฐ, ๊ฐ์ฒด๋ผ๋ฆฌ์˜ ์‹๋ณ„์€ id(object)๋ฅผ ํ†ตํ•ด์„œ ํ•œ๋‹ค. id๊ฐ€ ๊ฐ™๋‹ค๋ฉด ๋™์ผํ•œ ๊ฐ์ฒด, ๊ทธ๋ ‡์ง€ ์•Š์œผ๋ฉด ๋‹ค๋ฅธ ๊ฐ์ฒด์ด๋‹ค. id๋Š” ํ•ด๋‹น ๊ฐ์ฒด๋ฅผ ๊ฐ€๋ฆฌํ‚ค๋Š” ์œ ์ผํ•œ ์ƒ์ˆ˜(unique constant)์ด๋ฉฐ, ๊ฐ์ฒด๊ฐ€ ์„œ๋กœ ๊ฐ™์€์ง€ ๋น„๊ต๋ฅผ ์œ„ํ•ด์„œ๋Š” $==$ ๊ฐ€ ์•„๋‹Œ is ๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค. C์–ธ์–ด์˜ ํฌ์ธํ„ฐ์™€ ๊ฐ™์€ ๊ฐœ๋…์ด์ง€๋งŒ, ์‹ค์ œ๋กœ id๊ฐ€ ๊ฐ€๋ฆฌํ‚ค๋Š” ๊ฒƒ์ด ๋ฉ”๋ชจ๋ฆฌ์˜ ์ฃผ์†Œ๋ฅผ ์˜๋ฏธํ•˜๋Š” ๊ฒƒ์€ ์•„๋‹ˆ๋‹ค. ๊ฐ์ฒด๋Š” ๋ณ€๊ฒฝ ๊ฐ€๋Šฅํ•˜๊ฑฐ๋‚˜, ๊ทธ๋ ‡์ง€ ์•Š๋‹ค. ์ด๊ฒƒ์ด mutable object์™€ immutable object์˜ ์ฐจ์ด์ด๋‹ค. ์‰ฌ์šด ์˜ˆ๋กœ, a = "abc" a.replace("a", "x") # a๋Š” ์—ฌ์ „ํžˆ "abc"์ด..

    [ํŒŒ์ด์ฌ | Python] ํŠธ๋ผ์ด (Trie) ์ž๋ฃŒ๊ตฌ์กฐ

    ๋ฌธ์ž์—ด์€ ํ•ญ์ƒ ์–ด๋ ต๋‹ค. KMP๋„ ๊ทธ๋ ‡๊ณ , digit์œผ๋กœ ์ •๋ ฌํ•˜๋Š” ๊ฒƒ๋„ ๊ทธ๋ ‡๊ณ , ์•Œ๋ฉด ์•Œ์ˆ˜๋ก ๋จธ๋ฆฌ์•„ํŒŒ์ง€๋Š” ๋ถ„์•ผ. ๊ทธ๋งŒํผ ์–ด๋ ต๊ฒŒ ๋งŒ๋“ค๋ฉด ํ›จ์”ฌ ์–ด๋ ต๊ฒŒ๋„ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋‹ค๋Š” ์ด์•ผ๊ธฐ๊ฒ ์ง€. ์˜ค๋Š˜์€ ํŠธ๋ผ์ด๋ฅผ ๊ณต๋ถ€ํ–ˆ๋‹ค. Radix tree / Prefix tree ๋ผ๊ณ ๋„ ๋ถˆ๋ฆฌ๋Š”๋ฐ, ํ•œ ๋‹จ์–ด์˜ ์ ‘๋‘์‚ฌ(์ ‘๋‘์–ด)๋ฅผ ๋ชจ๋‘ ์ €์žฅํ•˜๊ณ  ์žˆ๋‹ค. (ํ•ด๋‹น ๋‹จ์–ด์— ๋„๋‹ฌํ•˜๊ธฐ๊นŒ์ง€์˜ ๋ฌธ์ž๋“ค์„ ์ €์žฅํ•œ๋‹ค) donghoon ์ด๋ผ๋Š” ๋‹จ์–ด๋ฅผ ๋ณด๋ฉด, dong ๋„ ์ ‘๋‘์‚ฌ๊ฐ€ ๋  ์ˆ˜ ์žˆ๊ณ , do ๋„ ์ ‘๋‘์‚ฌ๊ฐ€ ๋  ์ˆ˜ ์žˆ๋‹ค. ํŠธ๋ผ์ด์—์„œ๋Š” ์ด ๋‹จ์–ด๋“ค์ด ์„œ๋กœ ํฌํ•จ๊ด€๊ณ„์— ์žˆ๋‹ค๋Š” ๊ฒƒ์„ ์•Œ๋ ค์ค€๋‹ค. ํŠธ๋ผ์ด์— "app", "ant", "apple"์ด๋ผ๋Š” ๋‹จ์–ด๋“ค์„ ์ €์žฅํ•œ๋‹ค๊ณ  ํ•˜์ž. ํŠธ๋ผ์ด์—๋Š” ์ง€๊ธˆ๊นŒ์ง€์˜ ๋ชจ๋“  ๋‹จ์–ด์˜ ์ž์ทจ๋ฅผ ์ €์žฅํ•œ๋‹ค๊ณ  ํ–ˆ๋‹ค. ๋‹จ์–ด์˜ ๊ฐ ๊ธ€์ž๋งˆ๋‹ค, ์กด์žฌํ•˜์ง€ ์•Š์œผ๋ฉด ์ƒˆ..

    [ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค | Programmers] ์›”๊ฐ„ ์ฝ”๋“œ ์ฑŒ๋ฆฐ์ง€ ์‹œ์ฆŒ2 5์›” ๋ฌธ์ œํ’€์ด

    ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค์—์„œ ์›”๊ฐ„ ์ฝ”๋“œ ์ฑŒ๋ฆฐ์ง€๋ฅผ ์ง„ํ–‰ํ–ˆ๋‹ค ! ์‹œ๊ฐ„์ด ์ ์ ˆํ•œ ์‹œ๊ฐ„๋Œ€์— ์žกํ˜€์„œ ์—ฌ์œ ๋กญ๊ฒŒ ์ฐธ์—ฌํ•  ์ˆ˜ ์žˆ์—ˆ๋‹ค. 4์›”๋‹ฌ์— ํ•œ ๋ฒˆ, ์ด๋ฒˆ ๋‹ฌ์— ํ•œ ๋ฒˆ์ด ์‹œ์ฆŒ 2 ์ฑŒ๋ฆฐ์ง€์˜€๋Š”๋ฐ, ๋‚˜๋Š” ์ด๋ฒˆ ์ฑŒ๋ฆฐ์ง€๋ฅผ ๋‘ ๋ฒˆ์งธ ๋Œ€ํšŒ๊ฐ€ ๋ผ์„œ์•ผ ์ ‘ํ–ˆ๋‹ค. ๋‘ ๋ฒˆ์งธ ๋Œ€ํšŒ๊นŒ์ง€ ์ด 8๋ฌธ์ œ ์ค‘์— 4๋ฌธ์ œ๋งŒ ํ’€์–ด๋„ ์ด๋ฒคํŠธ์— ์‘๋ชจํ•  ์ˆ˜ ์žˆ๋‹ค๋Š”๋ฐ, ์ด๋ฒˆ์— 3๋ฌธ์ œ๋ฅผ ํ’€๋ฉด์„œ ์•„์‰ฝ๊ฒŒ ์‘๋ชจ๋Š” ํ•˜์ง€ ๋ชปํ–ˆ๋‹ค. ์ด๋ฒˆ ๋‹ฌ ์ฑŒ๋ฆฐ์ง€์—์„œ๋Š” 6546๋ช… ์ค‘ 53์œ„๋ฅผ ๋‹ฌ์„ฑํ–ˆ๋‹ค ! ๊ฐœ์ธ์ ์œผ๋กœ DP๊ฐ€ ๊ต‰์žฅํžˆ ์•ฝํ•œ ํŽธ์ด๋ผ๊ณ  ์ƒ๊ฐํ•˜๋Š”๋ฐ, ์ด๋ฒˆ ๋ฌธ์ œ์…‹์—์„œ๋Š” ๊ตฌํ˜„ / ๊ทธ๋ฆฌ๋”” / ์ž๋ฃŒ๊ตฌ์กฐ / ๊ทธ๋ž˜ํ”„ ์ชฝ์œผ๋กœ ์ถœ์ œ๋ผ์„œ 3๋ฌธ์ œ๋ฅผ ๋งž์•˜๋‹ค. 1. ์•ฝ์ˆ˜์˜ ๊ฐœ์ˆ˜์™€ ๋ง์…ˆ ์•ฝ์ˆ˜์˜ ๊ฐœ์ˆ˜๊ฐ€ ์ง์ˆ˜๋ฉด ๋”ํ•˜๊ณ , ํ™€์ˆ˜๋ฉด ๋นผ์•ผ ํ•œ๋‹ค. ์•ฝ์ˆ˜์˜ ๊ฐœ์ˆ˜๊ฐ€ ํ™€์ˆ˜์ธ ๊ฒฝ์šฐ๋Š” ์ œ๊ณฑ์ˆ˜์ธ ๊ฒฝ์šฐ์ด๊ณ , ์ˆ˜์˜ ๋ฒ”์œ„๊ฐ€ $1000$ ์ด๋‹ˆ๊นŒ $3..