Home
boookk
Cancel

[BOJ] ์œ„์ƒ ์ •๋ ฌ Basic

๐Ÿ“š Topological Sort ์ถœ์ฒ˜ : https://www.acmicpc.net/problem/2252 โ“ ์œ„์ƒ ์ •๋ ฌ ์ˆœ์„œ๊ฐ€ ์ •ํ•ด์ ธ ์žˆ๋Š” ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•ด์•ผ ํ•  ๋•Œ ๊ทธ ์ˆœ์„œ๋ฅผ ๊ฒฐ์ •ํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉํ•˜๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜ ์‚ฌ์ดํด์ด ์—†๋Š” ๋ฐฉํ–ฅ ๊ทธ๋ž˜ํ”„์˜ ๋ชจ๋“  ๋…ธ๋“œ๋ฅผ ์ˆœ์„œ๋Œ€๋กœ ๋‚˜์—ดํ•œ ๊ฒƒ ๐Ÿง Directed Acyclic Graph (DAG) ...

[BOJ] ์ตœ์žฅ ๊ณตํ†ต ๋ถ€๋ถ„ ์ˆ˜์—ด

๐Ÿ“š Longest Common Subsequence ์ถœ์ฒ˜ : https://www.acmicpc.net/problem/9251 โ“ ์ตœ์žฅ ๊ณตํ†ต ๋ถ€๋ถ„ ์ˆ˜์—ด ๋‘ ๋ฌธ์ž์—ด์ด ์ฃผ์–ด์กŒ์„ ๋•Œ, ๋ถ€๋ถ„ ๋ฌธ์ž์—ด ์ค‘ ๊ฐ€์žฅ ๊ธด ๊ฒƒ์„ ์ฐพ๋Š” ๋ฌธ์ œ ๐Ÿ’ก ํ’€์ด str1 = input() str2 = input() n, m = len(str1), len(str2) d...

Stack

๐Ÿ“š Stack ๊ตฌํ˜„ ๊ธฐ๋Šฅ Event Description push(data) ๋งจ ์•ž์— ๋ฐ์ดํ„ฐ ๋„ฃ๊ธฐ pop() ๋งจ ์•ž์˜ ๋ฐ์ดํ„ฐ ๋ฝ‘๊ธฐ peek() ๋งจ ์•ž์˜ ๋ฐ์ดํ„ฐ ๋ณด๊ธฐ ...

Queue

๐Ÿ“š Queue ๊ตฌํ˜„ ๊ธฐ๋Šฅ Event Description enqueue(data) ๋งจ ๋’ค์— ๋ฐ์ดํ„ฐ ์ถ”๊ฐ€ํ•˜๊ธฐ dequeue() ๋งจ ์•ž์˜ ๋ฐ์ดํ„ฐ ๋ฝ‘๊ธฐ peek() ๋งจ ์•ž์˜ ๋ฐ์ดํ„ฐ ๋ณด๊ธฐ...

LinkedList

๐Ÿ“š Array์™€ LinkedList ์ฐจ์ด์  Event Array LinkedList ํŠน์ • ์›์†Œ ์กฐํšŒ O(1) O(N) ์ค‘๊ฐ„์— ์›์†Œ ์‚ฝ์ž… / ์‚ญ์ œ O(N) O(1) ...

ํŠธ๋ฆฌ ์ž๋ฃŒ๊ตฌ์กฐ

๐Ÿ“š Tree ๊ณ„์ธต์ ์ธ ๊ตฌ์กฐ๋ฅผ ํ‘œํ˜„ํ•  ๋•Œ ์‚ฌ์šฉํ•˜๋Š” ์ž๋ฃŒ๊ตฌ์กฐ ํŠธ๋ฆฌ ๊ด€๋ จ ์šฉ์–ด ๋ช…์นญ ์˜๋ฏธ ๋ฃจํŠธ ๋…ธ๋“œ (root node) ๋ถ€๋ชจ๊ฐ€ ์—†๋Š” ์ตœ์ƒ์œ„ ๋…ธ๋“œ ๋‹จ๋ง ๋…ธ๋“œ (leaf node) ์ž์‹์ด ์—†๋Š” ๋…ธ๋“œ ...

[BOJ] ์ตœ์žฅ ์ฆ๊ฐ€ ๋ถ€๋ถ„ ์ˆ˜์—ด

๐Ÿ“š Longest Increasing Subsequence ์ถœ์ฒ˜ : https://www.acmicpc.net/problem/12015 โ“ ์ตœ์žฅ ์ฆ๊ฐ€ ๋ถ€๋ถ„ ์ˆ˜์—ด ์–ด๋–ค ์ž„์˜์˜ ์ˆ˜์—ด์—์„œ ๋ช‡ ๊ฐœ์˜ ์ˆ˜๋“ค์„ ์ œ๊ฑฐํ•˜๋ฉด ๋ถ€๋ถ„์ˆ˜์—ด์„ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋‹ค. ๋ถ€๋ถ„์ˆ˜์—ด ์ค‘ ์˜ค๋ฆ„์ฐจ์ˆœ์œผ๋กœ ์ •๋ ฌ๋œ ๊ฐ€์žฅ ๊ธด ์ˆ˜์—ด์„ ์ตœ์žฅ ์ฆ๊ฐ€ ๋ถ€๋ถ„ ์ˆ˜์—ด ์ด๋ผ๊ณ  ํ•œ๋‹ค. ๐Ÿ’ก ํ’€์ด f...

Python ์ตœ๋Œ€ ๊ณต์•ฝ์ˆ˜, ์ตœ์†Œ ๊ณต๋ฐฐ์ˆ˜

๐Ÿ“š ์ตœ๋Œ€ ๊ณต์•ฝ์ˆ˜ ์œ ํด๋ฆฌ๋“œ ํ˜ธ์ œ๋ฒ• ๋‘ ์ž์—ฐ์ˆ˜ A, B์— ๋Œ€ํ•˜์—ฌ (A > B) A๋ฅผ B๋กœ ๋‚˜๋ˆˆ ๋‚˜๋จธ์ง€์™€ B์˜ ์ตœ๋Œ€ ๊ณต์•ฝ์ˆ˜๋Š” A์™€ B์˜ ์ตœ๋Œ€ ๊ณต์•ฝ์ˆ˜์™€ ๊ฐ™๋‹ค. def gcd(a, b): if a % b == 0: return b else: return gcd(b, a % b) ๐Ÿ“š ์ตœ์†Œ ๊ณต๋ฐฐ์ˆ˜ ๊ตฌํ˜„ ...

Python ๋ฌธ๋ฒ•

๐Ÿ“š ๋ฆฌ์ŠคํŠธ ์ปดํ”„๋ฆฌํ—จ์…˜ ๋Œ€๊ด„ํ˜ธ ์•ˆ์— ์กฐ๊ฑด๋ฌธ๊ณผ ๋ฐ˜๋ณต๋ฌธ์„ ์ ์šฉํ•˜์—ฌ ๋ฆฌ์ŠคํŠธ๋ฅผ ์ดˆ๊ธฐํ™”ํ•˜๋Š” ๋ฐฉ๋ฒ• a = [i for i in range(5)] ๋ฆฌ์ŠคํŠธ์—์„œ ํŠน์ • ๊ฐ’์„ ๊ฐ€์ง€๋Š” ์›์†Œ๋ฅผ ๋ชจ๋‘ ์ œ๊ฑฐํ•˜๊ธฐ arr = [1, 1, 2, 2, 3] search = {1, 2} # arr์— 1, 2๋ฅผ ์ œ์™ธํ•œ ๊ฐ’๋งŒ ์ €์žฅ res = [a for a in arr if...

[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค] N-Queen

๐Ÿ“š N-Queen ์ถœ์ฒ˜ : https://programmers.co.kr/learn/courses/30/lessons/12952 โ“ ํ’€์ด ๋ฐฉ๋ฒ• ์‚ฌ์‹ค ์ฒ˜์Œ ๋ณด์ž๋งˆ์ž dfs๋กœ ํ’€์–ด์•ผ ๊ฒ ๋‹ค๊ณ  ์ƒ๊ฐํ•˜๊ณ  ์ด์ค‘ for๋ฌธ์— deque๋ฅผ ์“ฐ๋ฉด์„œ ํ’€์—ˆ๋‹ค. ๊ทธ ๊ฒฐ๊ณผ ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค 2/3 ์ •๋„ ํ‹€๋ ธ๋‹ค ๐Ÿ˜† ๐Ÿ“ ๋‚ด ํ’€์ด์˜ ๋ฌธ์ œ์  ํ€ธ์ด ๋Œ€๊ฐ์„ ์— ์žˆ๋Š” ๊ฒฝ์šฐ...