๋ชฉ๋ก๐ฆฅ ์ฝํ /์ด๊ฒ์ด ์ฝ๋ฉ ํ ์คํธ๋ค with python (41)
๐ ๊ณต๋ถํ๋ ์ง์ง์ํ์นด๋ ์ฒ์์ด์ง?
220208 ์์ฑ https://www.youtube.com/watch?v=-Gx0T92-7h8&list=PLVsNizTWUw7H9_of5YCB0FmsSc-K44y81&index=26 1. ์์ฐจ ํ์ : ๋ฆฌ์คํธ ์์ ์๋ ํน์ ํ ๋ฐ์ดํฐ๋ฅผ ์ฐพ๊ธฐ ์ํด ์์์๋ถํฐ ๋ฐ์ดํฐ๋ฅผ ํ๋์ฉ ํ์ธ 2. ์ด์ง ํ์ : ์ ๋ ฌ๋์ด ์๋๋ฆฌ์คํธ์์ ํ์ ๋ฒ์๋ฅผ ์ ๋ฐ์ฉ ์ขํ๊ฐ๋ฉฐ ๋ฐ์ดํฐ๋ฅผ ํ์ํ๋ ๋ฐฉ๋ฒ : ์์์ , ๋์ , ์ค๊ฐ์ ์ ์ด์ฉํ์ฌ ํ์ ๋ฒ์ ์ค์ 1) ์ด๋ฏธ ์ ๋ ฌ๋ ๋ฐ์ดํฐ, 4๋ฅผ ์ฐพ์๋ณด์ 2) ์์์ [0], ๋์ 9, ์ค๊ฐ์ [4](์์์ ์ดํ ์ ๊ฑฐ) 3) ์ค๊ฐ์ ๊ธฐ์ค์ผ๋ก ์ผ์ชฝ๊บผ๋ง ์ด๋ฆผ 4) ๋ค์ ์์, ์ค๊ฐ, ๋์ ์ฐพ๋๋ค 0, 2, 4, 6 5) 2 ๋ฅผ ๊ธฐ์ค์ผ๋ก ์ค๋ฅธ์ชฝ๊บผ๋ง ์ด๋ฆผ 6) 4, 6 ๋ python def bina..
220208 ์์ฑ https://www.youtube.com/watch?v=_kdE7ykab4Q&list=PLVsNizTWUw7H9_of5YCB0FmsSc-K44y81&index=25 1. ์ ๋ ฌ ์๊ณ ๋ฆฌ์ฆ ๋น๊ต : ์ต์ ์ ๊ฒฝ์ฐ์๋ O(NlogN) ์ ๋ณด์ฅ! 2. ์ ํ ์ ๋ ฌ๊ณผ ๊ธฐ๋ณธ ์ ๋ ฌ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ํ ์๊ฐ ๋น๊ต from random import randint import time # ๋ฐฐ์ด์ 10,000 ์ ์ ์ฝ์ array = [] for _ in range(10000) : # 1~100 ๋๋ค ์ ์ array.append(randint(1, 100)) # ์๊ฐ ์ฌ๊ธฐ start_time = time.time() # ์ ํ ์ ๋ ฌ ์์ค์ฝ๋ for i in range(len(array)) : min_index = ..
220208 ์์ฑ https://www.youtube.com/watch?v=65Ui3RNibRA&list=PLVsNizTWUw7H9_of5YCB0FmsSc-K44y81&index=24 1. ๊ณ์ ์ ๋ ฌ : ํน์ ํ ์กฐ๊ฑด์ด ๋ถํฉํ ๋ ์ฌ์ฉ, ๋งค์ฐ ๋น ๋ฅด๊ฒ ๋์ : ๋ฐ์ดํฐ์ ํฌ๊ธฐ ๋ฒ์๊ฐ ์ ํ๋์ด ์ ์ ํํ๋ก ํํํ ์ ์์ ๋ ๊ฐ๋ฅ : ๋ฐ์ดํฐ ๊ฐ์ N, ๋ฐ์ดํฐ(์์) ์ค ์ต๋๊ฐ์ด k์ผ ๋ ์ต์ ์ ๊ฒฝ์ฐ ์ํ ์๊ฐ O(N + K)s 1) ๊ฐ์ฅ ์์ ~ ํฐ ๋ฐ์ดํฐ ๋ฒ์๊ฐ ๋ชจ๋ ๋ด๊ธธ ์ ์๋ ๋ฆฌ์คํธ ์์ฑ 2) ๋ฐ์ดํฐ๋ฅผ ํ๋์ฉ ํ์ธํ๋ฉฐ, ๋ฐ์ดํฐ ๊ฐ๊ณผ ๋์ผํ ์ธ๋ฑ์ค์ ๋ฐ์ดํฐ 1์ฉ ์ฆ๊ฐ! .... ๊ณ์ ๋ฐ๋ณต 3) ๊ฒฐ๊ณผ ํ์ธํ ๋, ๋ฆฌ์คํธ์ ์ฒซ ๋ฒ์งธ ๋ฐ์ดํฐ ๋ถํฐ ํ๋์ฉ ๊ทธ ๊ฐ ๋ฐ๋ณตํ๋ฉฐ ์ธ๋ฑ์ค ์ถ๋ ฅ!!! python # ๋ชจ๋ ์..
220208 ์์ฑ https://www.youtube.com/watch?v=EuJSDghD4z8&list=PLVsNizTWUw7H9_of5YCB0FmsSc-K44y81&index=23 1. ํต ์ ๋ ฌ : ๊ธฐ์ค ๋ฐ์ดํฐ๋ฅผ ์ค์ ํ๊ณ , ๊ทธ ๊ธฐ์ค๋ณด๋ค ํฐ ๋ฐ์ดํฐ์ ์์ ๋ฐ์ดํฐ์ ์์น๋ฅผ ๋ฐ๊พธ๊ธฐ : ์ฒซ ๋ฒ์งธ ๋ฐ์ดํฐ๋ฅผ ๊ธฐ์ค ๋ฐ์ดํฐ (PIVOT) ์ผ๋ก ์ค์ : ๊ฐ์ฅ ๋ง์ด ์ฌ์ฉ๋๋ ์ ๋ ฌ ์๊ณ ๋ฆฌ์ฆ 1) ์ฒซ ๋ฒ์งธ ์๊ฐ ํผ๋ฒ์ด๋ค 2) ์ผ์ชฝ์์ 5๋ณด๋ค ํฐ ์๋ฅผ ๊ณ ๋ฅธ๋ค 3) ์ค๋ฅธ์ชฝ์์ 5๋ณด๋ค ์์ ์๋ฅผ ๊ณ ๋ฅธ๋ค 4) ๋์ด ๊ตํํ๋ค 5) ๊ทธ๋ค์ ์นธ ์ผ์ชฝ์์ ๋ ํฐ ์ ๊ณ ๋ฅธ๋ค 6) ๊ทธ๋ค์ ์นธ ์ค๋ฅธ์ชฝ์์ ๋ ์์ ์ ๊ณ ๋ฅธ๋ค .... ์์น๊ฐ ์๊ฐ๋ฆฌ๋ ๊ฒฝ์ฐ!!! ํผ๋ฒ (5) ์ ์์ ๋ฐ์ดํฐ์ ์์น๋ฅผ ๋ณ๊ฒฝ ๊ทธ๋ฌ๋ฉด ํผ๋ฒ (5) ๋ฅผ ๊ธฐ์ค์ผ๋ก ์ผ์ชฝ์ ..
220208 ์์ฑ https://www.youtube.com/watch?v=DRkL5EBZ7KY&list=PLVsNizTWUw7H9_of5YCB0FmsSc-K44y81&index=22 1. ์ฝ์ ์ ๋ ฌ : ์ฒ๋ฆฌ๋์ง ์์ ๋ฐ์ดํฐ๋ฅผ ํ๋์ฉ ๊ณจ๋ผ ์ ์ ํ ์์น์ ์ฝ์ : ์ ํ ์ ๋ ฌ์ ๋นํด ๊ตฌํ ๋์ด๋๊ฐ ๋์ง๋ง ํจ์จ์ 1) ์ฒซ ๋ฒ์งธ ์๋ฅผ ๊ธฐ์ค์ผ๋ก ๋ ๋ฒ์งธ ์๊ฐ ์์ผ๋ก ๊ฐ์ง, ๋ค๋ก ๊ฐ์ง ํ๋จ 2) ๊ทธ๋ค์ ์ธ ๋ฒ์งธ ์๊ฐ ์ ๋ ๊ฐ์ ์์์ ์ด๋๋ก ๊ฐ์ง ํ๋จ 3) ๊ทธ๋ค์ ๋ค ๋ฒ์งธ ์๊ฐ ์ ์ธ ๊ฐ์ ์์์ ์ด๋๋ก ๊ฐ์ง ํ๋จ .... ์ด๋ฐ ๊ณผ์ ๋ฐ๋ณต python array = [7, 5, 9, 0, 3, 1, 6, 2, 4, 8] for i in range(1, len(array)) : for j in range(i, 0,..
220208 ์์ฑ https://www.youtube.com/watch?v=jpyslMwprao&list=PLVsNizTWUw7H9_of5YCB0FmsSc-K44y81&index=21 1. ์ ๋ ฌ : ๋ฐ์ดํฐ๋ฅผ ํน์ ํ ๊ธฐ์ค์ ๋ฐ๋ผ ์์๋๋ก ๋์ดํ๋ ๊ฒ 2. ์ ํ ์ ๋ ฌ : ์ฒ๋ฆฌ๋์ง ์์ ๋ฐ์ดํฐ ์ค์์ ๊ฐ์ฅ ์์ ๋ฐ์ดํฐ๋ฅผ ์ ํํด ๋งจ ์์ ์๋ ๋ฐ์ดํฐ์ ๋ฐ๊พธ๋ ๊ฒ 1) ๊ฐ์ฅ ์์ 0 ์ ํํด ๊ฐ์ฅ ์์ ์ซ์์ ๋ฐ๊พธ๊ธฐ 2) ๊ทธ๋ค์ ์์ 1 ์ ํํด ๊ฐ์ฅ ์์์ ๋๋ฒ์งธ ์ซ์์ ๋ฐ๊พธ๊ธฐ .... ์ด๋ฐ ๊ณผ์ ๋ฐ๋ณต python array = [7, 5, 9, 0, 3, 1, 6, 2, 4, 8] for i in range(len(array)) : min_index = i for j in range(i+1, len(array))..
220202 ์์ฑ https://www.youtube.com/watch?v=e7_H8SLZlHY&list=PLVsNizTWUw7H9_of5YCB0FmsSc-K44y81&index=20 ์๋ฃ์ ์ผ๋ ค ๋จน๊ธฐ : N X M ํฌ๊ธฐ์ ์ผ์ ํ : ๊ตฌ๋ฉ์ด ๋ซ๋ฆฐ ๋ถ๋ถ์ 0, ์นธ๋ง์ด ์กด์ฌ ๋ถ๋ถ์ 1 : ๊ตฌ๋ฉ ๋ซ๋ฆฐ ๋ถ๋ถ๋ผ๋ฆฌ ์, ํ, ์ข, ์ฐ๋ก ๋ถ์ด์๋ ๊ฒฝ์ฐ ์๋ก ์ฐ๊ฒฐ๋๋ ๊ฒ์ผ๋ก ๊ฐ์ฃผ! : ์ผ์ ํ์ ๋ชจ์์ด ์ฃผ์ด์ก์ ๋ ์์ฑ๋๋ ์ด ์์ด์คํฌ๋ฆผ์ ๊ฐ์ ๊ตฌํ๊ธฐ : ๋ฐฉ๋ฌธ ์ฒ๋ฆฌ ๋ ๋ถ๋ถ๋ง ์ฐ๊ฒฐํ๊ธฐ! 1) ํน์ ์ง์ ์ ์, ํ, ์ข, ์ฐ ์ดํด๋ณด๊ณ ์ฃผ๋ณ ์ง์ ์ด 0 ์ด๋ฉด ํด๋น ์ง์ ๋ฐฉ๋ฌธ 2) ๋ฐฉ๋ฌธ ์งํ ๊ณผ์ ๋ฐ๋ณตํ๋ฉด, ์ฐ๊ฒฐ๋ ๋ชจ๋ ์ง์ ๋ฐฉ๋ฌธ ๊ฐ๋ฅ 3) 1~2 ๊ณผ์ ๋ฐ๋ณตํ์ฌ, ๋ฐฉ๋ฌธํ์ง ์์ ์ง์ ์ ์ ์นด์ดํธ! python..
220202 ์์ฑ https://www.youtube.com/watch?v=CJiF-muKz30&list=PLVsNizTWUw7H9_of5YCB0FmsSc-K44y81&index=19 1. BFS (Breadth - Frist Search) : ๋๋น ์ฐ์ ํ์ : ๊ฐ๊น์ด ๋ ธ๋๋ถํฐ ์ฐ์ ์ ์ผ๋ก ํ์ํจ : ํ ์๋ฃ๊ตฌ์กฐ ์ด์ฉ 1) ํ์ ์์ ๋ ธ๋๋ฅผ ํ์ ์ฝ์ ํ๊ณ ๋ฐฉ๋ฌธ ์ฒ๋ฆฌ 2) ํ์์ ๋ ธ๋๋ฅผ ๊บผ๋ธ ๋ค, ํด๋น ๋ ธ๋์ ์ธ์ ๋ ธ๋ ์ค ๋ฐฉ๋ฌธํ์ง ์์ ๋ ธ๋๋ฅผ ๋ชจ๋ ํ์ ์ฝ์ ํ๊ณ ๋ฐฉ๋ฌธ ์ฒ๋ฆฌ! 3) 2๋ฒ ๊ณผ์ ์ ์ํํ ์ ์์ ๋๊น์ง ๋ฐ๋ณต +) ๋์ ์์ - ์์ ๋ ธ๋ 1 : ํ์ ์ฝ์ ํ๊ณ ๋ฐฉ๋ฌธ ์ฒ๋ฆฌ ! - ํ์์ ๋ ธ๋ 1์ ๊บผ๋ด, ๋ฐฉ๋ฌธ ํ์ง ์์ 2, 3, 8์ ํ์ ์ฝ์ ํ๊ณ ๋ฐฉ๋ฌธ ์ฒ๋ฆฌ ! ( ์์ ์ ๋ถํฐ ) - ํ์..