- MethodArgumentNotValidException
- Rp2๊ธฐ
- SQL
- Quick Sort
- @CreatedDate
- Data Structure
- ์์คํ ์ํํธ์จ์ด
- C++
- mysql
- ๊ตฌ๊ธ ์์ ๋ก๊ทธ์ธ
- spring์ผ๋ก https ์ ์ฉ
- RP 2๊ธฐ
- spring ์์ ๋ก๊ทธ์ธ
- OpenAPI
- ํจ์คํธ์บ ํผ์คX์ผ๋์
- MAKE US
- DATABASE
- docker
- ๋ฆฌ๋ ์ค ๋ช ๋ น์ด
- Java
- Unity
- Spring
- datagrip
- merge sort
- aligoapi
- GIT
- java error
- spring ๊ตฌ๊ธ ์์ ๋ก๊ทธ์ธ
- node js
- SSL
๋ชฉ๋ก์ ์ฒด ๊ธ (129)
YS's develop story
๐ฉ๐ป ๋ณํฉ ์ ๋ ฌ (Merge Sort) ์ ๋ฆฌ with Python ๐ณ ๋ณํฉ ์ ๋ ฌ (Merge Sort)์ด๋? ์ฌ๊ท ์ฉ๋ฒ์ ํ์ฉํ ์ ๋ ฌ ์๊ณ ๋ฆฌ์ฆ์ ๋๋ค. ๋ฆฌ์คํธ๋ฅผ ์ ๋ฐ์ผ๋ก ์๋ผ ๋น์ทํ ํฌ๊ธฐ์ ๋ ๋ฆฌ์คํธ๋ก ๋๋๋๋ค. ๊ฐ ๋ถ๋ถ ๋ฆฌ์คํธ๋ฅผ ์ฌ๊ท์ ์ผ๋ก ๋ณํฉ ์ ๋ ฌ์ ์ด์ฉํด ์ ๋ ฌํฉ๋๋ค. ๋ ๋ถ๋ถ ๋ฆฌ์คํธ๋ฅผ ๋ค์ ํ๋์ ์ ๋ ฌ๋ ๋ฆฌ์คํธ๋ก ๋ณํฉํฉ๋๋ค. Merge Sort๋ Divide And Conquer์ ๋ํ์ ์ธ ์์ ์๊ณ ๋ฆฌ์ฆ์ ๋๋ค. ๐ฅ ๋ณํฉ ์ ๋ ฌ ๊ตฌํ with Python def mergeSort(data): if len(data) leftPoint and len(right) > rightPoint: if left[leftPoint] > right[rightPoint]: merged.append(right[rightPo..
๐ฉ๐ป ๋์ ๊ณํ๋ฒ๊ณผ ๋ถํ ์ ๋ณต ์ ๋ฆฌ with Python ๐ฅ ๋์ ๊ณํ๋ฒ (Dynamic Programming) ๋์ ๊ณํ๋ฒ, Dynamic Programming์ด๋? ์ ๋ ฅ ํฌ๊ธฐ๊ฐ ์์ ๋ถ๋ถ ๋ฌธ์ ๋ค์ ํด๊ฒฐํ ํ, ํด๋น ๋ถ๋ถ ๋ฌธ์ ์ ํด๋ฅผ ํ์ฉํด์, ํฐ ๋ถ๋ถ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ณ ์ต์ข ์ ์ผ๋ก ์ ์ฒด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋ ์๊ณ ๋ฆฌ์ฆ ๊ธฐ๋ฒ์ ๋๋ค. ์ํฅ์ ์ ๊ทผ๋ฒ์ผ๋ก ๊ฐ์ฅ ์ตํ์ ํด๋ต์ ๊ตฌํ ํ ์ด๋ฅผ ์ ์ฅํ๊ณ , ํด๋น ๊ฒฐ๊ด๊ฐ์ ์ด์ฉํด ์์ ๋ฌธ์ ๋ฅผ ํ์ด๊ฐ๋ ๋ฐฉ์์ ํ์ฉํฉ๋๋ค. Memoization ๊ธฐ๋ฒ์ ํ์ฉํฉ๋๋ค. Memoization (๋ฉ๋ชจ์ด์ ์ด์ ) : ํ๋ก๊ทธ๋จ ์คํ ์ ์ด์ ์ ๊ณ์ฐํ ๊ฐ์ ์ ์ฅํ๋ฉฐ, ๋ค์ ๊ณ์ฐํ์ง ์๋๋ก ํ์ฌ ์ ์ฒด ์คํ ์๋๋ฅผ ๋น ๋ฅด๊ฒ ํ๋ ๊ธฐ์ ์ ๋๋ค. ๋ฌธ์ ๋ฅผ ์๊ฒ ์ชผ๊ฐค ๋, ๋ถ๋ถ ๋ฌธ์ ๋ ์ค๋ณต๋์ด ์ฌํ์ฉ๋ฉ๋๋ค. ..
๐ฉ๐ป ๋ฒ๋ธ ์ ๋ ฌ, ์ ํ ์ ๋ ฌ, ์ฝ์ ์ ๋ ฌ ์ ๋ฆฌ with Python ๐ฅ ๋ฒ๋ธ ์ ๋ ฌ ๋ฒ๋ธ ์ ๋ ฌ์ด๋? ์ธ์ ํ ๋ ๋ฐ์ดํฐ๋ฅผ ๋น๊ตํด์ ์์ ์๋ ๋ฐ์ดํฐ๊ฐ ๋ค์ ์๋ ๋ฐ์ดํฐ๋ณด๋ค ํฌ๋ฉด, ์๋ฆฌ๋ฅผ ๋ฐ๊พธ๋ ์๊ณ ๋ฆฌ์ฆ์ ๋๋ค. Python ์ฝ๋ def bubbleSort(list): swaped = False for index in range(len(list) - 1): for index2 in range(len(list) - index - 1): if list[index2] > list[index2 + 1]: list[index2], list[index2 + 1] = list[index2 + 1], list[index2] swaped = True if swaped == False: break return list ์๊ฐ ๋ณต..
๐จ๐ผ๐ป Graph (๊ทธ๋ํ) ์ ๋ฆฌ With Python ๐ฅ Graph ๋? ์ค์ ์ธ๊ณ์ ํ์์ด๋ ์ฌ๋ฌผ์ Vertex(์ ์ )์ Edge(๊ฐ์ )๋ก ํํํ๊ธฐ ์ํด ์ฌ์ฉํฉ๋๋ค. Vertex : ์์น๋ฅผ ๋งํฉ๋๋ค. Node๋ผ๊ณ ํ๊ธฐ๋ ํฉ๋๋ค. Edge : ์์น ๊ฐ์ ๊ด๊ณ๋ฅผ ํ์ํ ์ ์ ๋๋ค. Degree : ๋ฐฉํฅ์ด ์๋ ๊ทธ๋ํ์์ ํ๋์ ์ ์ ์ ์ธ์ ํ ์ ์ ์ ์์ ๋๋ค. Simple Path : ์ฒ์ ์ ์ ๊ณผ ๋ ์ ์ ์ ์ ์ธํ๊ณ ์ค๋ณต๋ ์ ์ ์ด ์๋ ๊ฒฝ๋ก์ ๋๋ค. (A-B-C๋ Simple Path) Cycle : Simple Path์ ์์ ์ ์ ๊ณผ ์ข ๋ฃ ์ ์ ์ด ๋์ผํ ๊ฒฝ์ฐ์ ๋๋ค. ๐ ๊ทธ๋ํ์ ์ข ๋ฅ Undirected Graph ๋ฐฉํฅ์ด ์๋ ๊ทธ๋ํ์ ๋๋ค. Edge๋ฅผ ํตํด Vertex ์ ๋ฐฉํฅ์ผ๋ก ๊ฐ ์ ์์ต๋๋ค. Dire..
๐จ๐ผ๐ป Heap (ํ) ์ ๋ฆฌ With Python ๐ฅ Heap ์ด๋? ๋ฐ์ดํฐ์์ ์ต๋๊ฐ๊ณผ ์ต์๊ฐ์ ๋น ๋ฅด๊ฒ ์ฐพ๊ธฐ ์ํด ๊ณ ์๋ ์์ ์ด์งํธ๋ฆฌ(Complete Binary Tree)์ ๋๋ค. ์์ ์ด์งํธ๋ฆฌ? Node๋ฅผ ์ฝ์ ํ ๋ ์ตํ๋จ ์ผ์ชฝ Node๋ถํฐ ์ฐจ๋ก๋๋ก ์ฝ์ ํ๋ Tree ๋ฐฐ์ด์ ๋ฐ์ดํฐ๋ฅผ ๋ฃ๊ณ , ์ต๋๊ฐ๊ณผ ์ต์๊ฐ์ ์ฐพ์ผ๋ ค๋ฉด O(n) ์ด ๊ฑธ๋ฆฌ์ง๋ง ํ์ ๋ฐ์ดํฐ๋ฅผ ๋ฃ๊ณ , ์ต๋๊ฐ๊ณผ ์ต์๊ฐ์ ์ฐพ์ผ๋ฉด O(logn) ์ด ๊ฑธ๋ฆฌ๊ธฐ ๋๋ฌธ์ ์ต๋๊ฐ, ์ต์๊ฐ์ ๋น ๋ฅด๊ฒ ์ฐพ์์ผ ํ๋ ์๋ฃ๊ตฌ์กฐ ๋ฐ ์๊ณ ๋ฆฌ์ฆ์ ํ์ฉ๋ฉ๋๋ค. ํ์ ์๋์ ๋ ๊ฐ์ง ์กฐ๊ฑด์ ๊ฐ์ง๊ณ ์์ด์ผ ํฉ๋๋ค. ๊ฐ ๋ ธ๋์ ๊ฐ์ ํด๋น ๋ ธ๋์ ์์ ๋ ธ๋๊ฐ ๊ฐ์ง ๊ฐ๋ณด๋ค ํฌ๊ฑฐ๋ ๊ฐ์ต๋๋ค. ์์ ์ด์งํธ๋ฆฌ ํํ๋ฅผ ๊ฐ์ง๋๋ค. ๐ Heap VS Binary Search Tree ๊ณตํต์ ..
๐จ๐ผ๐ป Tree (ํธ๋ฆฌ) ์ ๋ฆฌ With Python ๐ฅ Tree๋? Node์ Branch๋ฅผ ์ด์ฉํด์ Cycle์ ์ด๋ฃจ์ง ์๋๋ก ๊ตฌ์ฑํ ๋ฐ์ดํฐ ๊ตฌ์กฐ์ ๋๋ค. ๐ ๊ด๋ จ ์ฉ์ด Node : ํธ๋ฆฌ์์ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๋ ๊ธฐ๋ณธ ์์ Root Node : ํธ๋ฆฌ์ ์ต์์ ๋ ธ๋ Level : ์ต์์ ๋ ธ๋๋ฅผ Level 0์ด๋ผ๊ณ ํ์ ๋, ํ์ Branch๋ก ์ฐ๊ฒฐ๋ ๋ ธ๋์ ๊น์ด๋ฅผ ๋ํ๋ ๋๋ค. Parent Node : ์ด๋ค ๋ ธ๋์ ๋ถ๋ชจ ๋ ธ๋ Child Node : ์ด๋ค ๋ ธ๋์ ์์ ๋ ธ๋ Leaf Node : Child Node๊ฐ ํ๋๋ ์๋ ๋ ธ๋ Sibling : ๋์ผํ Parent Node๋ฅผ ๊ฐ์ง๋ ๋ ธ๋ Depth : ํธ๋ฆฌ์์ Node๊ฐ ๊ฐ์ง ์ ์๋ ์ต๋ Level (์ ์ฌ์ง์์์ Depth๋ 2) ๐ ์ด์ง ํ์ ํธ๋ฆฌ ์ด..
๐จ๐ผ๐ป Hash Table (ํด์ ํ ์ด๋ธ) ์ ๋ฆฌ With Python ๐ฅ Hash Table์ด๋? ํค(key)์ ๋ฐ์ดํฐ(Value)๋ฅผ ์ ์ฅํ๋ ๋ฐ์ดํฐ ๊ตฌ์กฐ์ ๋๋ค. Key๋ฅผ ํตํด ๋ฐ๋ก ๋ฐ์ดํฐ๋ฅผ ๋ฐ์ ์ ์์ผ๋ฏ๋ก, ์๋๊ฐ ๋งค์ฐ ๋น ๋ฆ ๋๋ค. ํ์ด์ฌ์์๋ ๋์ ๋๋ฆฌ ํ์ ์ ์ฌ์ฉํ๋ฉด ๋ฉ๋๋ค. ๐ ๊ฐ๋จํ ํด์ ์์ hashTable = [0 for i in range(20)] def hashFunction(key): return key % 8 def insertToHashTable(data, value): key = ord(data[0]) hashAddress = hashFunction(key) hashTable[hashAddress] = value def getFromHashTable(data): key = ord..