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

ํŒŒ์ด์ฌ5

[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค] ์—ฐ์† ๋ถ€๋ถ„ ์ˆ˜์—ด ํ•ฉ์˜ ๊ฐœ์ˆ˜ (Python) https://school.programmers.co.kr/learn/courses/30/lessons/131701 ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ์ฝ”๋“œ ์ค‘์‹ฌ์˜ ๊ฐœ๋ฐœ์ž ์ฑ„์šฉ. ์Šคํƒ ๊ธฐ๋ฐ˜์˜ ํฌ์ง€์…˜ ๋งค์นญ. ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค์˜ ๊ฐœ๋ฐœ์ž ๋งž์ถคํ˜• ํ”„๋กœํ•„์„ ๋“ฑ๋กํ•˜๊ณ , ๋‚˜์™€ ๊ธฐ์ˆ  ๊ถํ•ฉ์ด ์ž˜ ๋งž๋Š” ๊ธฐ์—…๋“ค์„ ๋งค์นญ ๋ฐ›์œผ์„ธ์š”. programmers.co.kr ์›ํ˜• ์ˆœ์—ด์˜ ์—ฐ์† ๋ถ€๋ถ„์„ ๊ตฌํ• ๋•Œ ์ฃผ์–ด์ง„ ์ˆœ์—ด์„ ๋‘๊ฐœ๋กœ ํ•ฉ์น˜๋Š” ๋ฐฉ์‹์ด ๊ฐ€์žฅ ๊ฐ„ํŽธํ•˜๋‹ค. (๊ณต๊ฐ„ ๋ณต์žก๋„๋Š” ์•ˆ์ข‹์„ ์ง€๋„,.?) def solution(elements): result = set(elements) // ๋‹จ์ผ ์š”์†Œ l = len(elements) elements = elements * 2 for i in range(l) : for j in range(2,l) : s = sum(element.. 2022. 12. 21.
[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.
[Week03] ์•Œ๊ณ ๋ฆฌ์ฆ˜ - ์œ ๋‹ˆ์˜จ ํŒŒ์ธ๋“œ ํŠธ๋ฆฌ ํƒ์ƒ‰ ์•Œ๊ณ ๋ฆฌ์ฆ˜ - ์œ ๋‹ˆ์˜จ ํŒŒ์ธ๋“œ Union Find โœ… ๊ฐœ๋… / ์›๋ฆฌ : ๋Œ€ํ‘œ์ ์ธ ํŠธ๋ฆฌ ์•Œ๊ณ ๋ฆฌ์ฆ˜ : ํ•ฉ์ง‘ํ•ฉ ์ฐพ๊ธฐ, ์„œ๋กœ์†Œ ์ง‘ํ•ฉ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ์ด๋ผ๊ณ ๋„ ๋ถ€๋ฅธ๋‹ค. ์œ ๋‹ˆ์˜จ ํŒŒ์ธ๋“œ๋Š” ์ง‘ํ•ฉ(set)์„ ํ•ฉํ•˜๊ธฐ์œ„ํ•œ ์—ฐ์‚ฐ์ด๋‹ค. ์–‘๋ฑกํ–ฅ ์—ฐ๊ฒฐ ๋ฆฌ์ŠคํŠธ๋ฅผ ์‚ฌ์šฉํ•ด ํ•ฉ์ง‘ํ•ฉ ์—ฐ์‚ฐ ๊ตฌํ˜„์ด ๊ฐ€๋Šฅํ•˜์ง€๋งŒ ์‹œ์ž‘ ๋ณต์žก๋„๊ฐ€ ์•ˆ์ข‹์•„ ํŠธ๋ฆฌ ํ˜•ํƒœ๋ฅผ ํ™œ์šฉํ•œ๋‹ค. ๋ถ€๋ชจ๋ฅผ ๊ฐ€๋ฅดํ‚ค๋Š” ํŠธ๋ฆฌ์ฒ˜๋Ÿผ ๋งํฌ๋ฅผ ๋งŒ๋“ค์–ด ์ง‘ํ•ฉ์„ ํ‘œํ˜„ํ•œ๋‹ค. ํ•˜๋‚˜์˜ ํŠธ๋ฆฌ๊ฐ€ ํ•˜๋‚˜์˜ set์ด๋ฉฐ ํŠธ๋ฆฌ์˜ parents๋ฅผ ์ฐพ์•„ ์˜ฌ๋ผ๊ฐ€ ๋ฃจํŠธ๋ฅผ ๋งŒ๋‚˜๋ฉด ๋ฃจํŠธ๊ฐ’์ด ์ง‘ํ•ฉ์˜ ๋Œ€ํ‘œ๊ฐ’์ด๋‹ค. ๋‘๊ฐœ์˜ ์ง‘ํ•ฉ์— ๋ฃจํŠธ๊ฐ’์„ ์ฐพ์•„์„œ(find) ๋ฃจํŠธ๊ฐ’์ด ๋‹ค๋ฅด๋ฉด ํ•˜๋‚˜์˜ ํŠธ๋ฆฌ๋กœ ๋งŒ๋“ ๋‹ค.(union) > ํŠธ๋ฆฌ ๋†’์ด h๋งŒํผ์˜ ์‹œ๊ฐ„ ๋ณต์žก๋„๋ฅผ ๊ฐ–๋Š”๋‹ค. ์ง‘ํ•ฉ์˜ ํ•ฉ์ง‘ํ•ฉ ์‹œํ‚จ๋‹ค๋Š” ๊ฐœ๋…์„ ์ƒ๊ฐํ•˜๋ฉด ๋ฌธ์ œ ํ’€๋•Œ ํ—ท๊ฐˆ๋ ค์„œ ์ฃผ์–ด์ง„ ๊ทธ๋ž˜ํ”„์˜ ๋ฃจํŠธ๋ฅผ ์ฐพ๋Š” .. 2022. 4. 20.
[Week02] ์•Œ๊ณ ๋ฆฌ์ฆ˜ - ์ด๋ถ„ํƒ์ƒ‰ [Week02] ์•Œ๊ณ ๋ฆฌ์ฆ˜ ํ‚ค์›Œ๋“œ - ์ด๋ถ„ํƒ์ƒ‰, ๋ถ„ํ• ์ •๋ณต, ์Šคํƒ, ํ, ์šฐ์„ ์ˆœ์œ„ ํ ๊ฒ€์ƒ‰ ์•Œ๊ณ ๋ฆฌ์ฆ˜ - ์„ ํ˜•ํƒ์ƒ‰ / ์ด๋ถ„ ํƒ์ƒ‰ ์ด๋ถ„ํƒ์ƒ‰ ์ •๋ ฌ์ด ๋˜์–ด์žˆ๋Š” ๋ฐฐ์—ด์—์„œ ํŠน์ • ๋ฐ์ดํ„ฐ๋ฅผ ์ฐพ๊ธฐ ์œ„ํ•ด์„œ ๋ชจ๋“  ๋ฐ์ดํ„ฐ๋ฅผ ์ˆœ์ฐจ์ ์œผ๋กœ ํ™•์ธํ•˜๋Š” ๋Œ€์‹  ํƒ์ƒ‰์˜ ๋ฒ”์œ„๋ฅผ ์ ˆ๋ฐ˜์œผ๋กœ ์ค„์—ฌ๋‚˜๊ฐ€๋Š” ํƒ์ƒ‰ ๋ฐฉ๋ฒ• ์ด๋ถ„ํƒ์ƒ‰ ์‚ฌ์šฉ์‹œ ์ฃผ์˜์‚ฌํ•ญ ์ฃผ์–ด์ง„ ๋ฐฐ์—ด์€ ์ •๋ ฌ๋˜์–ด์žˆ์–ด์•ผํ•œ๋‹ค. ๋ฌดํ•œ ๋ฃจํ”„์— ๋น ์ง€์ง€์•Š๊ฒŒ mid๊ฐ’์„ ์ž˜ ์ง€์ •ํ•ด์ค€๋‹ค ์ฐจ๋ก€๋กœ ์ฆ๊ฐ€(ํ˜น์€ ๊ฐ์†Œ)์‹œํ‚ค๋ฉด์„œ ํ’€์–ด์•ผํ•˜๋Š” ํƒ์ƒ‰๋ฌธ์ œ์— ํฐ ์ˆ˜์˜ ๋ฒ”์œ„๊ฐ€ ์ฃผ์–ด์ง„๋‹ค๋ฉด ์ด๋ถ„ํƒ์ƒ‰์„ ๋– ์˜ฌ๋ ค๋ณด์ž. ์‹œ๊ฐ„๋ณต์žก๋„ O(logN) โœ… ์ด๋ถ„ํƒ์ƒ‰ ๊ตฌํ˜„ํ•˜๊ธฐ while๋ฌธ์„ ์ด์šฉํ•˜์—ฌ ๊ตฌํ˜„ def binary_serch(a,n_list) : st = 0 en = n-1 while st a : en = mid -1 else : st = mid + .. 2022. 4. 9.
[Week01] ์•Œ๊ณ ๋ฆฌ์ฆ˜ - ์ •๋ ฌ01 ์ •๋ ฌ01 โœ… ํŒŒ์ด์ฌ ๋‚ด์žฅํ•จ์ˆ˜ arr.sort() : ์˜ค๋ฆ„์ฐจ์ˆœ ์ •๋ ฌ arr.sort(reverse = True) : ๋‚ด๋ฆผ์ฐจ์ˆœ ์ •๋ ฌ #๋ฐฑ์ค€11650 - key๊ฐ’์œผ๋กœ ์ •๋ ฌ arr = [] for _ in range(int(input())): arr.append(list(map(int, input().split()))) arr.sort(key=lambda x:(x[0], x[1])) #x[0]์˜ ํฌ๊ธฐ๋ฅผ ๊ธฐ์ค€์œผ๋กœ ์ •๋ ฌ, ๊ฐ’์ด ๊ฐ™๋‹ค๋ฉด x[1]์œผ๋กœ ๋น„๊ต for e in arr: print(str(e[0]) + " " + str(e[1])) โœ… ๋ฒ„๋ธ” ์ •๋ ฌ : ์„œ๋กœ ์ธ์ ‘ํ•œ ๋‘ ์›์†Œ๋ฅผ ๊ฒ€์‚ฌํ•˜์—ฌ ์ •๋ ฌํ•œ๋‹ค. (swap) ์‹œ๊ฐ„๋ณต์žก๋„ O(N^2) def bubble_sort(arr): for i in range(len(arr) .. 2022. 4. 9.