๋ชฉ๋ก๐ฆฅ ์ฝํ /์ด๊ฒ์ด ์ฝ๋ฉ ํ ์คํธ๋ค with python (41)
๐ ๊ณต๋ถํ๋ ์ง์ง์ํ์นด๋ ์ฒ์์ด์ง?
220202 ์์ฑ https://www.youtube.com/watch?v=1vLqC1rItM8&list=PLVsNizTWUw7H9_of5YCB0FmsSc-K44y81&index=18 1. DFS (Depth-First Search) : ๊น์ด ์ฐ์ ํ์ : ๊ทธ๋ํ์์ ๊น์ ๋ถ๋ถ์ ์ฐ์ ์ ์ผ๋ก ํ์ : ์คํ ์๋ฃ๊ตฌ์กฐ ( ์ฌ๊ทํจ์ ) ์ด์ฉ 1) ํ์ ์์ ๋ ธ๋๋ฅผ ์คํ์ ์ฝ์ , ๋ฐฉ๋ฌธ ์ฒ๋ฆฌ ํจ 2) ์คํ์ ์ต์๋จ ๋ ธ๋์ ๋ฐฉ๋ฌธํ์ง ์์ ์ธ์ ํ ๋ ธ๋๊ฐ ํ๋๋ผ๋ ์์ผ๋ฉด ๊ทธ ๋ ธ๋๋ฅผ ์คํ์ ๋ฃ๊ณ ๋ฐฉ๋ฌธ ์ฒ๋ฆฌ ( ๋ฐฉ๋ฌธํ์ง ์์ ์ธ์ ๋ ธ๋ ์์ผ๋ฉด ์คํ์์ ์ต์๋จ ๋ ธ๋ ๊บผ๋ด๊ธฐ) 3) 2๋ฒ ๊ณผ์ ์ ์ํํ ์ ์์ ๋๊น์ง ๋ฐ๋ณต +) ๋์ ์์ - ์์ ๋ ธ๋ 1 : ๋ฒํธ๊ฐ ๋ฎ์ ์ธ์ ๋ ธ๋๋ถํฐ ! ๋ฐฉ๋ฌธ - 2, 3, 8 ์ค์์ ๊ฐ์ฅ ์..
220202 ์์ฑ https://www.youtube.com/watch?v=gFpKGWdEE5g&list=PLVsNizTWUw7H9_of5YCB0FmsSc-K44y81&index=17 1. ์ฌ๊ทํจ์ (Recursive Function) : ์๊ธฐ ์์ ์ ๋ค์ ํธ์ถํ๋ ํจ์ : ์ฌ๊ท ํจ์๋ฅผ ํธ์ถํฉ๋๋ค -> ๋ฌธ์์ด์ ๋ฌดํํ ์ถ๋ ฅ : ์ด๋์ ๋ ์ถ๋ ฅํ๋ค๊ฐ ์ด๊ณผ ๋ฉ์์ง๊ฐ ์ถ๋ ฅ : ๋ชจ๋ ์ฌ๊ท ํจ์๋ ๋ฐ๋ณต๋ฌธ์ ์ด์ฉํ์ฌ ๋์ผํ ๊ธฐ๋ฅ ๊ตฌํ ๊ฐ๋ฅ! : ํจ์๋ฅผ ์ฐ์์ ์ผ๋ก ํธ์ถํ๋ฉด ๋ฉ๋ชจ๋ฆฌ ๋ด๋ถ์ ์คํ ํ๋ ์์ ์์ -> ์คํ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ๋์ ์ฌ๊ท ํจ์ ์ด์ฉํ๊ธฐ๋ ํจ! ex) ์ฌ๊ทํจ์ -> error ์ด๊ณผ! def recursive_function() : print("์ฌ๊ท ํจ์ ํธ์ถ") recursive_function() re..
220202 ์์ฑ https://www.youtube.com/watch?v=7iLoLcna7Hw&list=PLVsNizTWUw7H9_of5YCB0FmsSc-K44y81&index=16 1. ํ์ : ๋ง์ ์์ ๋ฐ์ดํฐ ์ค์์ ์ํ๋ ๋ฐ์ดํฐ๋ฅผ ์ฐพ๋ ๊ณผ์ ex) DFS, BFS 2. ์คํ : ๋จผ์ ๋ค์ด ์จ ๋ฐ์ดํฐ๊ฐ ๋์ค์ ๋๊ฐ๋ ํ์ (์ ์ ํ์ถ) : ์ ๊ตฌ์ ์ถ๊ตฌ๊ฐ ๋์ผํ ํํ python stack = [] stack.append(5) stack.append(3) stack.append(2) stack.append(1) stack.pop() stack.append(4) stack.append(7) stack.pop() print(stack[::-1]) # ์ต์๋จ ๋ถํฐ print(stack) # ์ตํ๋จ ๋ถํฐ #..
220131 ์์ฑ https://www.youtube.com/watch?v=QhMY4t2xwG0&list=PLVsNizTWUw7H9_of5YCB0FmsSc-K44y81&index=15 ์๊ฐ : ์ ์ N ์ด ์ ๋ ฅ๋๋ฉด 00์ 00๋ถ 00์ด๋ถํฐ N์ 59๋ถ 59์ด๊น์ง์ ๋ชจ๋ ์๊ฐ ์ค์์ 3์ด ํ๋๋ผ๋ ํฌํจ๋๋ ๋ชจ๋ ๊ฒฝ์ฐ์ ์๋ฅผ ๊ตฌํ๋ผ : ๊ฐ๋ฅํ ๋ชจ๋ ์๊ฐ์ ๊ฒฝ์ฐ๋ฅผ ํ๋์ฉ ๋ชจ๋ ์ธ์ ํ ์ ์์ : ์์ ํ์ (Brute Forcing) -> ๊ฐ๋ฅํ ๊ฒฝ์ฐ์ ์๋ฅผ ๋ชจ๋ ๊ฒ์ฌํด๋ณด๋ ํ์ ๋ฐฉ๋ฒ python a = int(input()) cnt = 0 for i in range(a+1) : for j in range(60) : for k in range(60) : if '3' in str(i) + str..
220131 ์์ฑ https://www.youtube.com/watch?v=puH2p1CQEg4&list=PLVsNizTWUw7H9_of5YCB0FmsSc-K44y81&index=14 1. ๊ตฌํ (Implementation) : ๋จธ๋ฆฌ์์ ์๋ ์๊ณ ๋ฆฌ์ฆ์ ์์ค์ฝ๋๋ก ๋ฐ๊พธ๋ ๊ณผ์ : problem -> thinking -> solution : ์๊ณ ๋ฆฌ์ฆ ๋ฌธ์ ์์ 2์ฐจ์ ๊ณต๊ฐ์ ํ๋ ฌ (matrix) ๋ก ์ฌ์ฉ๋จ : ์๋ฌผ๋ ์ด์ ๋ฐ ์์ ํ์ ๋ฌธ์ ์์๋ 2์ฐจ์ ๊ณต๊ฐ์์์ ๋ฐฉํฅ ๋ฒกํฐ ์์ฃผ ํ์ฉ ์ํ์ข์ฐ : N X M ํฌ๊ธฐ์ ์ ์ฌ๊ฐํ : 1 X 1 ํฌ๊ธฐ์ ์ ์ฌ๊ฐํ์ผ๋ก ๋๋์ด์ ธ ์์ : ๊ฐ์ฅ ์ผ์ชฝ ์ ์ขํ๋ (1, 1), ๊ฐ์ฅ ์ค๋ฅธ์ชฝ ์๋ ์ขํ๋ (N, N) : ์ฌํ๊ฐ A๋ ์, ํ, ์ข, ๋ก ์ด๋ (์์์..
220131 ์์ฑ https://www.youtube.com/watch?v=_TG0hVYJ6D8&list=PLVsNizTWUw7H9_of5YCB0FmsSc-K44y81&index=13 1์ผ ๋ ๋๊น์ง : ์ด๋ ํ ์ N์ด 1์ด ๋ ๋๊น์ง ๋ค์์ ๋ ๊ณผ์ ์ค ํ๋๋ฅผ ๋ฐ๋ณต์ ์ผ๋ก ์ ํํ์ฌ ์ํ : ๋๋ฒ ์งธ ์ฐ์ฐ์ N์ด K๋ก ๋๋์ด ๋จ์ด์ง ๋๋ง ์ ํ 1) N์์ 1 ๋นผ๊ธฐ 2) N์ K๋ก ๋๋๊ธฐ : N, K ์ฃผ์ด์ง ๋ N์ด 1์ด ๋ ๋๊น์ง 1 or 2 ๋ฒ์ ๊ณผ์ ์ ์ํํด์ผํ๋ ์ต์ ํ์ - ์ฃผ์ด์ง N์ ๋ํด ์ต๋ํ ๋ง์ด ๋๋๊ธฐ - 1 ๋ฒ๋ณด๋ค 2๋ฒ์ด ์์ ์ ๋ง์ด ์ค์ python n, k = map(int, input().split()) cnt = 0 while True : target = ( n /..
220131 ์์ฑ https://www.youtube.com/watch?v=5OYlS2QQMPA&list=PLVsNizTWUw7H9_of5YCB0FmsSc-K44y81&index=12 1. ๊ทธ๋ฆฌ๋ ์๊ณ ๋ฆฌ์ฆ (ํ์๋ฒ) : ํ์ฌ ์ํฉ์์ ์ง๊ธ ๋น์ฅ ์ข์ ๊ฒ๋ง ๊ณ ๋ฅด๋ ๋ฐฉ๋ฒ : ์ ๋น์ฑ ๋ถ์ ์ค์ : ์ต์ํ์ ์์ด๋์ด๋ฅผ ๋ ์ฌ๋ฆด ์ ์๋ ๋ฅ๋ ฅ ex) 500, 100, 50, 10 ์์ผ๋ก ์ต์ ๋ฐฉ๋ฒ์ผ๋ก ๋ ๊ฑฐ์ฌ๋ฌ ์ฃผ๊ธฐ - ๊ฐ์ฅ ํฐ ํํ ๋จ์ ๋ถํฐ ~ ( ํฐ ๋จ์๊ฐ ํญ์ ์์ ๋จ์์ ๋ฐฐ์์ด๋ฏ๋ก,, ) python n = 1260 # ๊ฑฐ์ฌ๋ฌ ์ค์ผํ ๋ count = 0 # ํฐ ๋จ์ ํํ๋ถํฐ ํ์ธ array = [500, 100, 50, 10] for coin in array : count += n // coin # ํด๋น..
220129 ์์ฑ https://www.youtube.com/watch?v=W1SO2e5IaSo&list=PLVsNizTWUw7H9_of5YCB0FmsSc-K44y81&index=11 1. ํ์ค ๋ผ์ด๋ธ๋ฌ๋ฆฌ - ๋ด์ฅ ํจ์ : ๊ธฐ๋ณธ ์ ์ถ๋ ฅ ~ ์ ๋ ฌ ํจ์ - itertools : ๋ฐ๋ณต๋๋ ํํ์ ๋ฐ์ดํฐ ์ฒ๋ฆฌ ( ์์ด, ์กฐํฉ ) - heapq : ํ (heap) ์๋ฃ๊ตฌ์กฐ (์ฐ์ ์์ ํ ๊ธฐ๋ฅ ) - bisect : ์ด์ง ํ์ ๊ธฐ๋ฅ - collection : ๋ฑ(deque), ์นด์ดํฐ(counter) - math : ์ํ์ ๊ธฐ๋ฅ (ํฉํ ๋ฆฌ์ผ, ์ ๊ณฑ๊ทผ, ์ต๋๊ณต์ฝ์, ์ผ๊ฐํจ์, ํ์ด) sum([2,3,4,5]) min(3,4,5) max(3,4,5) eval(3,4,5) sorted([3,4,2,3]) sorted([3,..