๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

์ „์ฒด ๊ธ€67

[๋ฐฑ์ค€] 11055 - ๊ฐ€์žฅ ํฐ ์ฆ๊ฐ€ ๋ถ€๋ถ„ ์ˆ˜์—ด (DP) https://www.acmicpc.net/problem/11055 11055๋ฒˆ: ๊ฐ€์žฅ ํฐ ์ฆ๊ฐ€ ๋ถ€๋ถ„ ์ˆ˜์—ด ์ˆ˜์—ด A๊ฐ€ ์ฃผ์–ด์กŒ์„ ๋•Œ, ๊ทธ ์ˆ˜์—ด์˜ ์ฆ๊ฐ€ ๋ถ€๋ถ„ ์ˆ˜์—ด ์ค‘์—์„œ ํ•ฉ์ด ๊ฐ€์žฅ ํฐ ๊ฒƒ์„ ๊ตฌํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์‹œ์˜ค. ์˜ˆ๋ฅผ ๋“ค์–ด, ์ˆ˜์—ด A = {1, 100, 2, 50, 60, 3, 5, 6, 7, 8} ์ธ ๊ฒฝ์šฐ์— ํ•ฉ์ด ๊ฐ€์žฅ ํฐ ์ฆ๊ฐ€ ๋ถ€๋ถ„ ์ˆ˜ www.acmicpc.net ๋‚œ์ด๋„ : ํ•˜ DP ๊ธฐ๋ณธ ๋ฌธ์ œ import sys n = int(sys.stdin.readline()) a = list(map(int,sys.stdin.readline().split())) dp = [0]*n for i in range(n) : dp[i] = a[i] # ์ž๊ธฐ์ž์‹ ๋งŒ ์ˆ˜์—ด์ธ ๊ฒฝ์šฐ for i in range(n): for j .. 2022. 10. 12.
์•Œ๊ณ ๋ฆฌ์ฆ˜ ํ‚ค์›Œ๋“œ ์ •์ˆ˜๋ก , ๋ฐฐ์—ด, ๋ฌธ์ž์—ด, ์žฌ๊ท€ํ•จ์ˆ˜, ์ •๋ ฌ, ์™„์ „ํƒ์ƒ‰, ์‹œ๊ฐ„๋ณต์žก๋„ ์ด๋ถ„ํƒ์ƒ‰, ๋ถ„ํ• ์ •๋ณต, ์Šคํƒ, ํ, ์šฐ์„ ์ˆœ์œ„ ํ ๊ทธ๋ž˜ํ”„(vertex, edge, node, arc), BFS, DFS, ์œ„์ƒ์ •๋ ฌ ๋™์  ํ”„๋กœ๊ทธ๋ž˜๋ฐ, ๊ทธ๋ฆฌ๋”” ์•Œ๊ณ ๋ฆฌ์ฆ˜ 2022. 9. 29.
[leetcode] 206๋ฒˆ Reverse Linked List 206๋ฒˆ ์—ญ์ˆœ ์—ฐ๊ฒฐ ๋ฆฌ์ŠคํŠธ https://leetcode.com/problems/reverse-linked-list/ Reverse Linked List - LeetCode Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview. leetcode.com ํ’€์ด 1 - ๋ฐฐ์—ด์— ์ €์žฅํ•˜์—ฌ ๋’ค์ง‘๊ธฐ class Solution: def reverseList( head: Optional[ListNode]) -> Optional[ListNode]: arr = [] while head : arr.append(head.val) h.. 2022. 5. 7.
[Week05] C์–ธ์–ด - Red Black Tree Red - Black Tree ๋ ˆ๋“œ ๋ธ”๋ž™ ํŠธ๋ฆฌ https://ko.wikipedia.org/wiki/๋ ˆ๋“œ-๋ธ”๋ž™_ํŠธ๋ฆฌ ๋ ˆ๋“œ-๋ธ”๋ž™ ํŠธ๋ฆฌ - ์œ„ํ‚ค๋ฐฑ๊ณผ, ์šฐ๋ฆฌ ๋ชจ๋‘์˜ ๋ฐฑ๊ณผ์‚ฌ์ „ ๋ ˆ๋“œ-๋ธ”๋ž™ ํŠธ๋ฆฌ(red-black tree)๋Š” ์ž๊ฐ€ ๊ท ํ˜• ์ด์ง„ ํƒ์ƒ‰ ํŠธ๋ฆฌ(self-balancing binary search tree)๋กœ์„œ, ๋Œ€ํ‘œ์ ์œผ๋กœ๋Š” ์—ฐ๊ด€ ๋ฐฐ์—ด ๋“ฑ์„ ๊ตฌํ˜„ํ•˜๋Š” ๋ฐ ์“ฐ์ด๋Š” ์ž๋ฃŒ๊ตฌ์กฐ๋‹ค. 1978๋…„ ๋ ˆ์˜ค ๊ท€๋ฐ”์Šค(Leo J. Guibas)์™€ ๋กœ๋ฒ„ํŠธ ko.wikipedia.org ์ด์ง„ ํƒ์ƒ‰ํŠธ๋ฆฌ์˜ ํ•œ ์ข…๋ฅ˜ BTS์˜ worst case์˜ ๋‹จ์ ์„ ๊ฐœ์„  - ์Šค์Šค๋กœ ๊ท ํ˜•์„ ๋งž์ถ”๋ฉฐ ํŽธํ–ฅ๋œ ํŠธ๋ฆฌ๊ฐ€ ๋˜์ง€์•Š๋„๋ก ํ•œ๋‹ค. ์ตœ์•…์˜ ๊ฒฝ์šฐ์—๋„ ์‹œ๊ฐ„๋ณต์žก๋„๊ฐ€ O(logN) ๊ทœ์น™ ๋ ˆ๋“œ์™€ ๋ธ”๋ž™์œผ๋กœ๋งŒ ์ด๋ฃจ์›Œ์ง„๋‹ค. ๋ฃจํŠธ ๋…ธ๋“œ๋Š” ๋ธ”๋ž™์ด๋‹ค. nil๋…ธ๋“œ๋Š” ๋ธ”๋ž™์ด๋‹ค. ๋ ˆ.. 2022. 5. 5.
[Week04] ์•Œ๊ณ ๋ฆฌ์ฆ˜ - ๋น„ํŠธ ๋งˆ์Šคํ‚น ๋ฐฑ์ค€ ์™ธํŒ์› ์ˆœํšŒ ๋ฌธ์ œ(TSP)๋ฅผ ํ’€๋ ค๋ฉด ๋น„ํŠธ ๋งˆ์Šคํ‚น์— ๊ด€ํ•œ ๊ฐœ๋…์ด ํ•„์š”ํ•˜์—ฌ ๊ณต๋ถ€ํ•˜๊ฒŒ๋˜์—ˆ๋‹ค. ํ•ด๋‹น ๋ฌธ์ œ https://www.acmicpc.net/problem/2098 2098๋ฒˆ: ์™ธํŒ์› ์ˆœํšŒ ์ฒซ์งธ ์ค„์— ๋„์‹œ์˜ ์ˆ˜ N์ด ์ฃผ์–ด์ง„๋‹ค. (2 ≤ N ≤ 16) ๋‹ค์Œ N๊ฐœ์˜ ์ค„์—๋Š” ๋น„์šฉ ํ–‰๋ ฌ์ด ์ฃผ์–ด์ง„๋‹ค. ๊ฐ ํ–‰๋ ฌ์˜ ์„ฑ๋ถ„์€ 1,000,000 ์ดํ•˜์˜ ์–‘์˜ ์ •์ˆ˜์ด๋ฉฐ, ๊ฐˆ ์ˆ˜ ์—†๋Š” ๊ฒฝ์šฐ๋Š” 0์ด ์ฃผ์–ด์ง„๋‹ค. W[i][j]๋Š” ๋„์‹œ i์—์„œ j www.acmicpc.net keywords ๋น„ํŠธ๋งˆ์Šคํ‚น dp, ๋น„ํŠธ๋งˆ์Šคํ‚น bfs, ๋น„ํŠธ๋งˆ์Šคํฌ ์ˆœ์—ด, ๋น„ํŠธ๋งˆ์Šคํฌ ์กฐํ•ฉ ๋น„ํŠธ ๋งˆ์Šคํ‚น ์ปดํ“จํ„ฐ๋Š” ๋‚ด๋ถ€์ ์œผ๋กœ ๋ชจ๋“  ์ž๋ฃŒ๋ฅผ ์ด์ง„์ˆ˜๋กœ ํ‘œํ˜„ํ•œ๋‹ค. ์ด์™€ ๊ฐ™์€ ํŠน์„ฑ์„ ์ด์šฉํ•ด ์ •์ˆ˜์˜ ์ด์ง„์ˆ˜ ํ‘œํ˜„์„ ์ž๋ฃŒ๊ตฌ์กฐ๋กœ ์“ฐ๋Š” ๊ธฐ๋ฒ•์ด๋‹ค. check = [False] * .. 2022. 4. 26.
[Week03] ์•Œ๊ณ ๋ฆฌ์ฆ˜ - DFS / BFS ๋ฐฑ์ค€ ๋ฌธ์ œ ๋‘ ๋ฌธ์ œ๋ฅผ ๊ตฌ๋ถ„ํ•˜๋Š” ๊ธฐ์ค€์ด ์•ฝ๊ฐ„ ๋ชจํ˜ธํ•˜์ง€๋งŒ.. ๋ฌธ์ œ๋ฅผ ํ’€๋ฉด์„œ ๋งŒ๋‚ฌ๋˜ ๋ช‡๋ช‡ ์œ ํ˜•๋“ค์„ ๊นŒ๋จน์ง€์•Š๊ธฐ ์œ„ํ•ด ์ •๋ฆฌํ•ด๋‘”๋‹ค. DFS / ๋ฐฑํŠธ๋ž˜ํ‚น nums = [1,2,3] result = [] permute = [] def dfs(): if len(permute) == len(nums) : result.append(permute[:]) return for i in range(len(nums)) : if nums[i] not in permute : permute.append(nums[i]) dfs() permute.pop() dfs() print(result) DFS 25731๋ฒˆ : ๋น™์‚ฐ https://www.acmicpc.net/problem/2573 2573๋ฒˆ: ๋น™์‚ฐ ์ฒซ ์ค„์—๋Š” ์ด์ฐจ์› ๋ฐฐ์—ด์˜ ํ–‰์˜ ๊ฐœ์ˆ˜์™€ ์—ด์˜ ๊ฐœ์ˆ˜๋ฅผ.. 2022. 4. 21.