Jayden`s

    [TIL] 103. [์ž๋ฃŒ๊ตฌ์กฐ] ๊ทธ๋ž˜ํ”„

    ํ‚ค์›Œ๋“œ ๊ทธ๋ž˜ํ”„ ์ธ์ ‘ํ–‰๋ ฌ/์ธ์ ‘๋ฆฌ์ŠคํŠธ ๊ทธ๋ž˜ํ”„ ๊ทธ๋ž˜ํ”„๋Š” ๊ธฐ๋ณธ์ ์œผ๋กœ vert(๋…ธ๋“œ, ์ •์ )์™€ edge(๊ฐ„์„ , ๋งํฌ)๋กœ ๊ตฌ์„ฑ๋˜์–ด์žˆ๋‹ค. ๊ทธ๋ž˜ํ”„๋Š” ๋…ธ๋“œ๊ฐ„์˜ ๊ด€๊ณ„, ํŠธ๋ฆฌ๋Š” ๋…ธ๋“œ๊ฐ„์˜ ๊ณ„์ธต์„ ํ‘œํ˜„ ๋ฐฉํ–ฅ์„ฑ(๋‹จ๋ฐฉํ–ฅ, ์–‘๋ฐฉํ–ฅ) ์ˆœ์„œ๊ฐ€ ์กด์žฌํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๋งˆ์ง€๋ง‰ ๋…ธ๋“œ๊ฐ€ Leaf node๊ฐ€ ๋œ๋‹ค. ์–‘๋ฐฉํ–ฅ ํ˜•ํƒœ์˜ ๊ฒฝ์šฐ, ๊ทธ ์ฃผ๋ชฉ์ ์ด ๋…ธ๋“œ๊ฐ„์˜ ์ƒํ˜ธ ๊ตํ™˜(์„œ๋กœ ๋…ธ๋“œ ์ •๋ณด๋ฅผ ๊ณต์œ ) ๋ฌด๋ฐฉํ–ฅ์„ฑ ๋ฐฉํ–ฅ์ด ์กด์žฌํ•˜์ง€ ์•Š๊ณ  ์—ฐ๊ฒฐ๋œ ๋…ธ๋“œ๋“ค(์ด์›ƒ ๋…ธ๋“œ๋“ค)๋ผ๋ฆฌ ์„œ๋กœ ์ธ์ ‘ ์ˆœํ™˜์„ฑ ๊ทธ๋ž˜ํ”„๊ฐ€ ๊ฐ€์งˆ ์ˆ˜ ์žˆ๋Š” ์„ฑ์งˆ๋กœ, ์œ„์™€ ๊ฐ™์ด ์ˆœํ™˜์„ ํ˜•์„ฑํ•  ์ˆ˜ ์žˆ๋‹ค. [๊ทธ๋ž˜ํ”„] ์ธ์ ‘๋ฆฌ์ŠคํŠธ, ์ธ์ ‘ํ–‰๋ ฌ ๊ทธ๋ž˜ํ”„ ์ž๋ฃŒ๊ตฌ์กฐ๋ฅผ ๊ตฌํ˜„ํ•˜๋Š” ๋‘๊ฐ€์ง€ ๋ฐฉ๋ฒ• ์ธ์ ‘๋ฆฌ์ŠคํŠธ ๊ทธ๋ž˜ํ”„์˜ ํ˜•ํƒœ๋ฅผ ๋ฆฌ์ŠคํŠธ๋กœ ํ‘œํ˜„ ์ „์ฒด ๋…ธ๋“œ์˜ ๋ชฉ๋ก์„ ์ €์žฅํ•˜๊ณ  ์žˆ๋‹ค. ํŒŒ์ด์ฌ์˜ ๋”•์…”๋„ˆ๋ฆฌ๋กœ ๊ทธ๋ž˜ํ”„๋ฅผ ๊ตฌํ˜„ํ•œ ์˜ˆ์‹œ) class Graph: d..

    [TIL] 102. [์ž๋ฃŒ๊ตฌ์กฐ] ํ•ด์‹œํ…Œ์ด๋ธ”

    ํ‚ค์›Œ๋“œ ํ•ด์‹œ ํ•ด์‹œํ•จ์ˆ˜ ํ•ด์‹œํ…Œ์ด๋ธ” ํ•ด์‹œ์ถฉ๋Œ(์ฒด์ด๋‹, ์˜คํ”ˆ ์–ด๋“œ๋ ˆ์‹ฑ) ํ•ด์‹œํ…Œ์ด๋ธ” ํ‚ค(key)๋ฅผ ํ™œ์šฉํ•˜์—ฌ ๊ฐ’(value)์— ์ง์ ‘ ์ ‘๊ทผ์ด ๊ฐ€๋Šฅํ•œ ๊ตฌ์กฐ ํ•ด์‹ฑ์˜ ์ฃผ๋œ ๋ชฉ์ ์€ ๊ฒ€์ƒ‰ ๋ฐ์ดํ„ฐ์˜ ์–‘๊ณผ ์ƒ๊ด€์—†์ด ์„ฑ๋Šฅ์ด ๋น ๋ฅด๋‹ค.(ํ‚ค๋ฅผ ํ†ตํ•ด ๋ฐ”๋กœ ๊ฐ’์„ ๊ฒ€์ƒ‰ํ•˜๊ธฐ๋•Œ๋ฌธ) ํŒŒ์ด์ฌ์˜ ๋”•์…”๋„ˆ๋ฆฌ๋Š” ๋‚ด๋ถ€์ ์œผ๋กœ ํ•ด์‹œํ…Œ์ด๋ธ” ๊ตฌ์กฐ ํ•ด์‹œํ•จ์ˆ˜ ํ•ด์‹œํ•จ์ˆ˜๋ฅผ ํ†ตํ•ด ํ‚ค๋ฅผ ํ•ด์‹œํ…Œ์ด๋ธ” ๋‚ด์˜ ๋ฒ„ํ‚ท(=hashes)๋กœ ๋งคํ•‘ ํ•ด์‹œํ•จ์ˆ˜์˜ ์ž…๋ ฅ๊ฐ’ ํ˜•ํƒœ๋Š” ๋‹ค์–‘ํ•˜์ง€๋งŒ, ์ถœ๋ ฅ๊ฐ’์˜ ํ˜•ํƒœ๋Š” ์ˆซ์ž ์ž…๋ ฅ๊ฐ’๊ณผ ์ถœ๋ ฅ๊ฐ’์ด ์ผ๋Œ€์ผ ๋Œ€์‘์ด ๋˜์–ด์•ผ ํ•œ๋‹ค. ์‹ค์ œ๋กœ๋Š” ์™„๋ฒฝํ•œ ์ผ๋Œ€์ผ ๋Œ€์‘์€ ์–ด๋ ค์šฐ๋ฉฐ, ๋‹ค๋ฅธ ์ž…๋ ฅ๊ฐ’์— ๋Œ€ํ•ด ๊ฐ™์€ ์ถœ๋ ฅ์ด ๋‚˜์˜ค๋Š” ๊ฒฝ์šฐ๋ฅผ ํ•ด์‹œ์ถฉ๋Œ์ด๋ผ๊ณ  ํ•œ๋‹ค. ์ผ๋ฐ˜์ ์œผ๋กœ ํ•ด์‹œํ•จ์ˆ˜๋Š” ๋ฌธ์ž์—ด ์ž…๋ ฅ๊ฐ’์„ ์ •์ˆ˜ํ˜• ์ถœ๋ ฅ๊ฐ’์œผ๋กœ ๋ฐ˜ํ™˜ ํ•ด์‹œ์„ฑ๋Šฅ O(1) ์‹œ๊ฐ„๋ณต์žก๋„ ์•ˆ์— ๊ฒ€์ƒ‰, ์‚ฝ์ž…, ์‚ญ์ œ๋ฅผ ํ•  ์ˆ˜ ์žˆ๋‹ค.(ํ•ด..

    [2231] ๋ถ„ํ•ดํ•ฉ

    import sys N = sys.stdin.readline().strip() def solve(N): arr = [] for i in range(int(N)+1): temp = i for j in list(str(temp)): temp += int(j) if temp == int(N): arr.append(i) else: pass if len(arr) == 0: return 0 else: return min(arr) print(solve(N)) 2231 ๋ถ„ํ•ดํ•ฉ

    13. ๋ฌด์—ญ, ๋น„๊ต์šฐ์œ„, ๋ณดํ˜ธ/์ž์œ  ๋ฌด์—ญ

    ๋ฌด์—ญ(์ˆ˜์ถœ์ž…) ๊ตญ๊ฐ€ ๊ฐ„ ์ƒํ’ˆ๊ณผ ์„œ๋น„์Šค๋ฅผ ๋งค๋งคํ•˜๋Š” ๊ฑฐ๋ž˜ ์™ธ๊ตญํ™˜์‹œ์„ธ์— ํฐ ์˜ํ–ฅ์„ ๋ฐ›๋Š”๋‹ค. ์ด๋Ÿฐ ์ ์„ ํšŒํŒŒํ•˜๊ธฐ ์œ„ํ•ด ํ™”ํ๋ฅผ ํ†ตํ•ฉํ•œ ๊ฒƒ์ด ์œ ๋กœ์กด(๊ฒฝ์ œํ†ตํ•ฉ) ์ด์™ธ์—๋„ ๊ฒฝ์ œํ†ต๋ฐ˜์žํ˜‘์ • ๋“ฑ์„ ๋ชฉ์ ์œผ๋กœ ํ•œ ์›€์ง์ž„์ด ๋งŽ๋‹ค. ๋น„๊ต์šฐ์œ„ ์›๋ฆฌ ๊ฒฝ์ œํ•™์—์„œ ๋ฌด์—ญ์„ ๋ฐ”๋ผ๋ณด๋Š” ๊ด€์  ํ•ด๋‹น ๊ตญ๊ฐ€๊ฐ€ ๊ฐ€์žฅ ์ž˜ํ•˜๋Š” ๋ถ„์•ผ์˜ ์ œํ’ˆ(๋น„๊ต์šฐ์œ„)์„ ์ˆ˜์ถœํ•˜๊ณ  ๋ฐ˜๋Œ€๋กœ ๋น„๊ต์—ด์œ„์˜ ์ œํ’ˆ์„ ์ˆ˜์ž…ํ•˜๋ฉด ์ด์ต์„ ์–ป์„ ์ˆ˜ ์žˆ๋‹ค๋Š” ์›๋ฆฌ ์˜ˆ์‹œ) A๊ตญ๊ฐ€ : ์˜ค๋ Œ์ง€ - 600์›, ์‚ฌ๊ณผ - 400์› / B๊ตญ๊ฐ€ : ์˜ค๋ Œ์ง€ 1,000์›, ์‚ฌ๊ณผ - 500์› ์ด๋ ‡๊ฒŒ๋งŒ ๋ณด๋ฉด A๊ฐ€ B๋ณด๋‹ค ์˜ค๋ Œ์ง€ ๋ฐ ์‚ฌ๊ณผ์—์„œ ์–ธ์ œ๋‚˜ ์ ˆ๋Œ€์šฐ์œ„๋ฅผ ๊ฐ–๊ณ  ์žˆ๋Š”๋“ฏ ๋ณด์ธ๋‹ค. A๊ตญ๊ฐ€๊ฐ€ B๊ตญ๊ฐ€์— ์˜ค๋ Œ์ง€ 1๊ฐœ ์ˆ˜์ถœ(1,000์› ๋ฒŒ ์ˆ˜ ์žˆ์Œ) ์ด ๋•Œ, A์—์„œ๋Š” ์˜ค๋ Œ์ง€ 1๊ฐœ์— ์‚ฌ๊ณผ 1.5๊ฐœ์˜€๋Š”๋ฐ B๊ตญ๊ฐ€์—์„œ๋Š” ์˜ค๋ Œ์ง€ 1๊ฐœ์— ..

    [CS] ์˜ค๋ฒ„ํ—ค๋“œ, ์Šคํƒ ์˜ค๋ฒ„ ํ”Œ๋กœ์šฐ

    ์˜ค๋ฒ„ํ—ค๋“œ(OverHead) ์–ด๋–ค ์ฒ˜๋ฆฌ๋ฅผ ํ•˜๊ธฐ ์œ„ํ•ด ๋“ค์–ด๊ฐ€๋Š” ๊ฐ„์ ‘์ ์ธ ์ฒ˜๋ฆฌ ์‹œ๊ฐ„ ํ˜น์€ ๋ฉ”๋ชจ๋ฆฌ ๋“ฑ A๋ผ๋Š” ์ž‘์—…์„ ๋‹จ์ˆœ ์ฒ˜๋ฆฌํ•˜๋Š” ์‹œ๊ฐ„์ด 10์ดˆ์ผ ๋•Œ, ์•ˆ์ •์„ฑ์„ ๊ณ ๋ คํ•˜์—ฌ B๋ผ๋Š” ์ž‘์—…์„ ์ถ”๊ฐ€ํ•˜์—ฌ ์ด 15์ดˆ๊ฐ€ ๊ฑธ๋ ธ๋‹ค๋ฉด ์ด ๋•Œ์˜ `overhead = 5์ดˆ` ์ž‘์—… B๋ฅผ ๊ฐœ์„ ํ•˜์—ฌ ์ด 12์ดˆ๊ฐ€ ๋˜์—ˆ๋‹ค๋ฉด `overhead๊ฐ€ 3์ดˆ ๋‹จ์ถ•๋˜์—ˆ๋‹ค`๊ณ  ํ•œ๋‹ค. ์Šคํƒ ์˜ค๋ฒ„ ํ”Œ๋กœ์šฐ(Stack Overflow) ์Šคํƒ ๋ฉ”๋ชจ๋ฆฌ : Stack ์˜์—ญ์˜ ๋ฉ”๋ชจ๋ฆฌ๋กœ ๋ณดํ†ต์€ ์ง€์—ญ ๋ณ€์ˆ˜๊ฐ€ ์ €์žฅ๋˜๋Š” ๋ฉ”๋ชจ๋ฆฌ(ํ•จ์ˆ˜์—์„œ ์„ ์–ธ ํ›„ ํ• ๋‹น, ํ•จ์ˆ˜๋ฅผ ๋น ์ ธ๋‚˜์˜ค๋ฉด ํ•ด์ œ) ์Šคํƒ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ์ดˆ๊ณผํ•˜๋Š” ๊ฒฝ์šฐ ๋ฐœ์ƒํ•˜๋Š” ์—๋Ÿฌ๋ฅผ ์Šคํƒ์˜ค๋ฒ„ํ”Œ๋กœ์šฐ๋ผ๊ณ  ํ•œ๋‹ค. python์—์„  ๊ธฐ๋ณธ์ ์œผ๋กœ 1000๋งŒํผ์˜ ๋ฉ”๋ชจ๋ฆฌ๊ฐ€ ํ• ๋‹น