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๋งํผ์ ๋ฉ๋ชจ๋ฆฌ๊ฐ ํ ๋น