ํ์ด์ฌ
-
- [PyQt] ์ปค์คํ ์์ด์ฝ ํจํค์ง(fugueicons) ์ค์น ๋ฐ ์ฌ์ฉํด๋ณด๊ธฐ
PyQt ์ปค์คํ ์์ด์ฝ ํจํค์ง(fugueicons) ์ค์น ๋ฐ ์ฌ์ฉํด๋ณด๊ธฐ ๋ค์ด๊ฐ๋ฉฐ PyQt์๋ ๊ธฐ๋ณธ ์์ด์ฝ ํฉ์ด ์์ง๋ง(์ฐธ๊ณ ), ์์ด์ฝ์ ์ข ๋ฅ๊ฐ ์ ๋ค. ๊ทธ๋์ ์ปค์คํ ์์ด์ฝ ํจํค์ง(@fugueicons@)๋ฅผ ์ค์นํ์ฌ ์ฌ์ฉํ ์ ์๋ค. ๋ฐฉ๋ฒ @pyqt5-fugeicons@ ํจํค์ง ์ค์นํ๊ธฐ ํฐ๋ฏธ๋์์ ๋ค์ ๋ช ๋ น์ ์คํํ์ฌ @pyqt5-fugeicons@ ํจํค์ง๋ฅผ ์ค์นํ๋ค. > pip install pyqt5-fugueicons ์์ด์ฝ ์ฌ์ฉํด๋ณด๊ธฐ ๋ค์๊ณผ ๊ฐ์ด ๋ชจ๋์ ๋ถ๋ฌ์@fugeicons@์ ์์ด์ฝ์ ์ฌ์ฉํด๋ณผ ์ ์๋ค. import pyqt5_fugueicons as fugue @icon()@ ๋ฉ์๋๋ฅผ ์ฌ์ฉํ์ฌ ์์ด์ฝ์ ๋ถ๋ฌ์ฌ ์ ์๋ค. PyQt ๊ธฐ๋ณธ ์์ด์ฝํฉ์ ์์ด์ฝ์ ์ฌ์ฉํ๋ ๋ฐฉ๋ฒ๊ณผ ์ ์ฌํ๋ค. @QActi..
2023.07.05 -
- [Python] ํ์ด์ฌ ์ฝ๋๋ฅผ ์คํ ํ์ผ๋ก ๋ง๋ค๊ธฐ (PyInstaller)
ํ์ด์ฌ ์ฝ๋๋ฅผ ์คํ ํ์ผ๋ก ๋ง๋ค๊ธฐ (PyInstaller) ๋ค์ด๊ฐ๋ฉฐ ํ์ด์ฌ ์ฝ๋๋ฅผ ์คํ ํ์ผ(@.exe@)๋ก ๋ง๋ค๋ ค๋ฉด PyInstaller ํจํค์ง๋ฅผ ์ฌ์ฉํ๋ฉด ๋๋ค. PyInstaller๋ฅผ ์ฌ์ฉํ์ฌ ๊ฐ๋จํ๊ฒ ํ์ด์ฌ ์ฝ๋๋ฅผ ์คํ ํ์ผ๋ก ๋ง๋ค์ด๋ณด๋ ๋ฐฉ๋ฒ์ ์์๋ณด์. ๋ฐฉ๋ฒ PyInstaller ์ค์นํ๊ธฐ ํฐ๋ฏธ๋์์ ์๋์ ๋ช ๋ น์ ์คํํ์ฌ PyInstaller๋ฅผ ์ค์นํ๋ค. > pip install pyinstaller ์คํ ํ์ผ(@.exe@) ๋ง๋ค๊ธฐ ํ์ด์ฌ ์ฝ๋๋ก ์์ฑ๋ ํ์ผ(@ํ์ด์ฌ์ฝ๋.py@)์ @pyinstaller@ ๋ช ๋ น์ ์ธ์๋ก ๋ฃ์ด์ค๋ค. > pyinstaller ์๋ฅผ ๋ค์ด, @myApp.py@ ํ์ผ์ ์คํ ํ์ผ(@.exe@)๋ก ๋ง๋ค๋ ค๋ฉด ์๋์ ๊ฐ์ด ๋ช ๋ น์ ์คํํ๋ค. > pyinstaller myApp.p..
1 2023.07.03 -
- [Python] ์๋์ฝ๋ค ํ๋กฌํํธ๋ฅผ ์ด์ฉํ์ฌ ๊ฐ์ ํ๊ฒฝ ๋ง๋ค๊ธฐ
์๋์ฝ๋ค ํ๋กฌํํธ๋ฅผ ์ด์ฉํ์ฌ ๊ฐ์ ํ๊ฒฝ ๋ง๋ค๊ธฐ ๋ค์ด๊ฐ๋ฉฐ ์๋์ฝ๋ค(Anaconda)๋ฅผ ์ค์นํ๊ณ , ๊ฐ์ ํ๊ฒฝ์ ์ง์ ๋ง๋ค์ด๋ณด์. ๊ฐ์ ํ๊ฒฝ์ ์์กด์ฑ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํ์ฌ Python 3.3 ๋ฒ์ ๋ถํฐ ์๋ก ์ถ๊ฐ๋ ๊ธฐ๋ฅ์ด๋ค. ๋ฐฉ๋ฒ ์ฐ์ ์๋์ฝ๋ค(Anaconda)๋ฅผ PC์ ์ค์นํ๋ค. Anaconda | The World’s Most Popular Data Science Platform Anaconda is the birthplace of Python data science. We are a movement of data scientists, data-driven enterprises, and open source communities. www.anaconda.com ์๋์ฝ๋ค ์ค์น๋ฅผ ์๋ฃํ๋ฉด, ์๋์ฝ๋ค ํ๋กฌํํธ(..
2023.06.12 -
- [Azure] Azure Machine Learning Service ์ฌ์ฉํด๋ณด๊ธฐ : Notebooks
์ ์ (Azure) Machine Learning Service์ Notebooks ์ฌ์ฉํด๋ณด๊ธฐ ๋ค์ด๊ฐ๋ฉฐ Azure Machine Learning Service์ Notebooks๋ฅผ ์ด์ฉํ์ฌ ์ค์ตํด๋ณด์. Azure Machine Learning Service ๋ฐฐํฌ ๋ฐฉ๋ฒ์ ์ด์ ๊ธ(https://dev-astra.tistory.com/400)์ ์ฐธ๊ณ ํ๋ค. ์ค์ตํ๊ธฐ @[Authoring]@ ์น์ ์์ @[Notebooks]@ ํญ์ ํด๋ฆญํ๋ค. ๊ทธ๋ฆฌ๊ณ @[Files]@ ๋ฒํผ์ ํด๋ฆญํ๊ณ , @[Create new file]@์ ์ ํํ๋ค. ๊ทธ๋ฆฌ๊ณ @.ipynb@ ํ์ผ์ ํ๋ ๋ง๋ค์ด์ค๋ค. ๊ทธ๋ฆฌ๊ณ ์คํ ํ๊ฒฝ์ @[Python 3.8 - AzureML]@๋ก ๋ฐ๊ฟ์ค๋ค. ๋ค์ ์ฒ๋ผ ์ธ์ฆ์ ํด์ค๋ค. ์ฐ์ธก ์๋จ์ @[Authentic..
2023.06.01 -
- [PyQt] PyQt5์์ QWebView ์ฌ์ฉํ๊ธฐ
PyQt5์์ QWebView ์ฌ์ฉํ๊ธฐ๋ค์ด๊ฐ๋ฉฐ์๋ PyQt์์ @QWebView@ ์์ ฏ์ ์ฌ์ฉํ ์ ์์์ผ๋, PyQt5์์๋ถํฐ๋ ๋ ์ด์ ๊ธฐ๋ณธ์ผ๋ก ์ ๊ณต๋์ง ์๊ฒ ๋์๋ค.๋ฐ๋ผ์ @QWebView@ ์์ ฏ์ ์ฌ์ฉํ๋ ค๋ฉด @QWebEngineView@ ๋ชจ๋์ ์ฌ์ฉํด์ผ ํ๋ค. ๊ทธ๋ฆฌ๊ณ @QWebView@ ๊ฐ์ฒด๊ฐ ์๋, @QWebEngineView@ ๊ฐ์ฒด๋ฅผ ์ฌ์ฉํ๋ค. ๋ฐฉ๋ฒ๋ค์์ ๋ช ๋ น์ ํฐ๋ฏธ๋์์ ์คํํ์ฌ @QWebEngineView@๋ฅผ ์ฌ์ฉํ๊ธฐ ์ํด ํ์ํ ํจํค์ง๋ฅผ ์ค์นํ๋ค.> pip install PyQtWebEngine ๋ค์๊ณผ ๊ฐ์ด @import@ ํ์ฌ ์ฌ์ฉํ๋ค.from PyQt5.QtCore import QUrlfrom PyQt5.QtWidgets import QApplication, QWidgetfrom Py..
2023.05.16 -
- [PyQt] ๊ตฌ๊ธ ๋ฒ์ญ๊ธฐ ํ๋ก๊ทธ๋จ ๋ง๋ค๊ธฐ & "'NoneType' object has no attribute 'group'" ์ด์ ํด๊ฒฐํ๊ธฐ
PyQt๋ก ๊ตฌ๊ธ ๋ฒ์ญ๊ธฐ ํ๋ก๊ทธ๋จ ๋ง๋ค๊ธฐ๋ค์ด๊ฐ๋ฉฐPyQt๋ฅผ ์ด์ฉํ์ฌ ๊ฐ๋จํ๊ฒ ํ๊ธ์ ๋ฌธ์ฅ์ ์์ด ๋ฌธ์ฅ์ผ๋ก ๋ฒ์ญํ๋ ํ๋ก๊ทธ๋จ์ ๋ง๋ค์ด๋ณด์.์ด๋, ๋ฌด๋ฃ๋ก ์ฌ์ฉํ ์ ์๋ ๊ตฌ๊ธ ๋ฒ์ญ๊ธฐ ํจํค์ง(@googletrans@)๋ฅผ ์ฌ์ฉํ๋๋ก ํ๋ค. ์ฝ๋import sysfrom PyQt5.QtWidgets import *from googletrans import Translatorclass MyApp(QWidget): def __init__(self): super().__init__() self.lbl1 = QLabel('ํ๊ตญ์ด:', self) self.lbl2 = QLabel('์์ด:', self) self.le = QLineEdit(self) self..
2023.05.15 -
- [PyQt] self.width()์ self.height()๋ฅผ ์ฌ์ฉํ ๋, ์คํ์ฐฝ์ด ํ๊ธฐ๋ ๊ฒฝ์ฐ ํด๊ฒฐ ๋ฐฉ๋ฒ
PyQt์์ self.width()์ self.height()๋ฅผ ์ฌ์ฉํ ๋, ์คํ์ฐฝ์ด ํ๊ธฐ๋ ๊ฒฝ์ฐ ํด๊ฒฐ ๋ฐฉ๋ฒ๋ค์ด๊ฐ๋ฉฐPyQt์์ @self.width()@์ @self.height()@๋ฅผ ์ฌ์ฉํ ๋, ์คํ์ฐฝ์ด ํ๊ธฐ๋ ๊ฒฝ์ฐ๊ฐ ์๋ค.์๋ฅผ ๋ค์ด, @self.width()@ ๊ฐ๊ณผ @self.height()@ ๊ฐ์ ์ง์ ์ ์๋ก ๋๋์ด ์ฌ์ฉํ๋ ๊ฒฝ์ฐ ์คํ์ฐฝ์ด ํ๊ธฐ๊ฒ ๋๋ค.qp.drawPoint(self.width() / 2, self.height() / 2) ํด๊ฒฐ ๋ฐฉ๋ฒ@self.width() / 2@์ @self.height() / 2@์ ๊ฒฐ๊ณผ๊ฐ์ด ์ค์ํ(Float)์ด๊ธฐ ๋๋ฌธ์ ์คํ์ฐฝ์ด ํ๊ธฐ๊ฒ ๋๋ ๊ฒ์ด๋ค.๋ฐ๋ผ์ ๋ค์๊ณผ ๊ฐ์ด ์ ์ํ ํ์ ๋ณํ ํจ์ @int()@๋ฅผ ์ฌ์ฉํด์ค์ผ ํ๋ค.qp.drawPoint(int(se..
2023.05.14 -
- [Python] ํ์ด์ฌ์ ๋ด์ฅ ํจ์๋ฅผ ์ด์ฉํ์ฌ ์ด๋ฏธ์ง ๋ถ๋ฌ์ค๊ณ ํ์ํ๊ธฐ
ํ์ด์ฌ์ ๋ด์ฅ ํจ์๋ฅผ ์ด์ฉํ์ฌ ์ด๋ฏธ์ง ๋ถ๋ฌ์ค๊ณ ํ์ํ๊ธฐ ๋ค์ด๊ฐ๋ฉฐ ํ์ด์ฌ์์ ๊ธฐ๋ณธ์ ์ผ๋ก ์ ๊ณต๋๋ ๋ด์ฅ ํจ์๋ฅผ ์ด์ฉํ์ฌ ์ด๋ฏธ์ง๋ฅผ ๋ถ๋ฌ์จ ํ, ์ถ๋ ฅํด๋ณด์. ๋ฐฉ๋ฒ ํ์ด์ฌ์์ ์ด๋ฏธ์ง๋ฅผ ๋ถ๋ฌ์ค๊ณ ํํํ๋ ค๋ฉด @requests@, @io@, @PIL@ ๋ชจ๋(ํ์ด์ฌ์ ์ค์นํ ๋ ํฌํจ๋๋ ๋ด์ฅ ํจ์์ด๋ค.)์ ๋ถ๋ฌ์ค๋ฉด ๋๋ค. import requests from io import BytesIO from PIL import Image image_url = 'https://storage.googleapis.com/petbacker/images/blog/2017/dog-and-cat-cover.jpg' image = Image.open(BytesIO(requests.get(image_url).content)) image ์ค๋ช ๊ณผ ..
2023.04.13 -
- [Python] ํ(Queue)
ํ(Queue) ํ(Queue) ์ ์ ์ ์ถ(First In First Out, FIFO)์ ํน์ง์ ๊ฐ๋ ์๋ฃ๊ตฌ์กฐ ํ๋ ์์ชฝ์ด ๋ซ๋ ค ์๋ ๊ตฌ์กฐ์ด๋ค. ํ์ชฝ์์๋ ์ฝ์ ๋ง ์งํ๋๊ณ , ๋ค๋ฅธ ์ชฝ์์๋ ์ถ์ถ๋ง ์งํ๋๋ค. ํ์ ๋ฐ์ดํฐ๋ฅผ ์ฝ์ ํ๋ ๋์์ enQueue(์ธํ)๋ผ๊ณ ํ๋ฉฐ, ๋ฐ์ดํฐ๋ฅผ ์ถ์ถํ๋ ๋์์ deQueue(๋ฐํ)๋ผ๊ณ ํ๋ค. ํ์ ์ค์ํ ์ฉ์ด๋ก front(๋จธ๋ฆฌ)์ rear(๊ผฌ๋ฆฌ)๊ฐ ์๋ค. ๋จธ๋ฆฌ๋ ์ ์ฅ๋ ๋ฐ์ดํฐ ์ค ์ฒซ ๋ฒ์งธ ๋ฐ์ดํฐ๋ฅผ ๊ฐ๋ฆฌํจ๋ค. ๊ผฌ๋ฆฌ๋ ์ ์ฅ๋ ๋ฐ์ดํฐ ์ค ๋ง์ง๋ง ๋ฐ์ดํฐ๋ฅผ ๊ฐ๋ฆฌํจ๋ค. ์ฒซ ๋ฒ์งธ ๋ฐ์ดํฐ ์์ front๊ฐ ๊ฐ๋ฆฌ์ผ์ผ ํ๋ค. ๋ฐ์ดํฐ ์ฝ์ : enQueue ๋ฐ์ดํฐ ์ถ์ถ : deQueue ๊ตฌํ โ ํ์ ์ด๊ธฐํ SIZE = 5 queue = [None for _ in range(SIZE)] fr..
2022.07.01 -
- [Python] ์คํ(Stack)
์คํ(Stack) ์คํ(Stack) ์ ์ ํ์ถ(First In Last Out, FILO) ๋๋ ํ์ ์ ์ถ(Last In First Out, LIFO)์ ํน์ง์ ๊ฐ๋ ์๋ฃ๊ตฌ์กฐ ์คํ์ ํ์ชฝ๋ง ๋ซ๋ ค ์๋ ๊ตฌ์กฐ์ด๊ธฐ ๋๋ฌธ์ ์ฝ์ ๊ณผ ์ถ์ถ์ด ํ์ชฝ์์๋ง ์งํ๋๋ค. ์คํ์ ๋ฐ์ดํฐ๋ฅผ ์ฝ์ ํ๋ ๋์์ push(ํธ์)๋ผ๊ณ ํ๋ฉฐ, ๋ฐ์ดํฐ๋ฅผ ์ถ์ถํ๋ ๋์์ pop(ํ)์ด๋ผ๊ณ ํ๋ค. ์คํ์์๋ top(ํฑ)์ด๋ผ๋ ์ฉ์ด๊ฐ ์ค์ํ๋ฐ, ํ์ฌ ์คํ์ ๋ค์ด ์๋ ๊ฐ์ฅ ์์ ๋ฐ์ดํฐ ์์น๋ฅผ ๊ฐ๋ฆฌํค๋ ๊ฐ๋ ์ด๋ค. ๊ตฌํ โ ์คํ์ ์ด๊ธฐํ SIZE = 5 # ์คํ์ ํฌ๊ธฐ stack = [None for _ in range(SIZE)] top = -1 โก ๋ฐ์ดํฐ ์ฝ์ ์คํ์ด ๊ฝ ์ฐผ๋์ง ํ์ธํ๋ ํจ์ ๋จผ์ ์คํ์ด ๊ฝ ์ฐผ๋์ง ํ์ธํ ํ ์คํ์ ์ฌ์ ๊ณต๊ฐ์ด ์..
2022.07.01 -
- [Python] ์ด์ง ํ์(Binary Search)
์ด์ง ํ์(Binary Search) ์ด์ง ํ์ ์๋ฆฌ ์ ๋ ฌ๋ ๋ฐ์ดํฐ ์งํฉ์ ๊ฒ์ํ๋ ๊ฒฝ์ฐ์๋ ์ด์ง ํ์(Binary Search)์ ์ฃผ๋ก ์ฌ์ฉํ๋๋ฐ, ์์ฐจ ํ์์ ๋นํด์ ์์ฒญ๋ ์ฑ๋ฅ์ผ๋ก ๋ฐ์ดํฐ๋ฅผ ๊ฒ์ํ ์ ์๋ค. ์ด์ง ํ์์ ์ ์ฒด๋ฅผ ๋ฐ์ฉ ์๋ผ๋ด์ ํ์ชฝ์ ๋ฒ๋ฆฌ๋ ๋ฐฉ์์ ์ฌ์ฉํ๋ค. ๋ฐ์ดํฐ ๊ฐ์๊ฐ ๊ณ์ 1/2์ฉ๋ง ๋จ์ผ๋ฏ๋ก ๊ธ๊ฒฉํ ๋น๊ตํ ๋ฐ์ดํฐ ๊ฐ์๊ฐ ์ค์ด๋ ๋ค. ์ฐพ๋ ๊ฐ์ ๊ฒ์ํ๊ณ ์ 1๋จ๊ณ์์ ์ค์ ์์น๋ฅผ ๊ธฐ์ค์ผ๋ก ์ก๋๋ค. ์ฐพ๋ ๊ฐ์ด ์ผ์ชฝ ๊ตฌ์ญ์ ์์ ๊ฒฝ์ฐ, ์ค๋ฅธ์ชฝ ๊ตฌ์ญ์ ๋ฒ๋ฆฐ๋ค. ์ด ๊ณผ์ ์ ์ฐพ์ ๊ฐ์ ์ฐพ์ ๋๊น์ง ๋ฐ๋ณตํ๋ค. ๊ตฌํ ์ด์ง ํ์ ๊ตฌํ์ ํค๋ฅผ ์ฐพ๊ธฐ ์ํด ๊ณ์ ์์, ์ค์, ๋์ ๋ฐ๋ณต์ ์ผ๋ก 1/2์ฉ ์ค์ฌ ๊ฐ๋ฉด์ ๊ณ์ฐํ๋ ๋ฐฉ์์ด๋ค. ๊ฒ์ํ ๋ฒ์๋ฅผ 1/2์ฉ ๋ฐ๋ณตํด์ ๋ถํ ํ๋ ๊ธฐ๋ฒ์ ๋ถํ ์ ๋ณต(Divide ..
2022.06.29 -
- [Python] ์์ฐจ ํ์(Sequential Search)
์์ฐจ ํ์(Sequential Search) ์์ฐจ ํ์ ์ด๋ค ๋ฐ์ดํฐ๋ ์ ๋ ฌ๋์ง ์์ ์ํ๋ก ์กด์ฌํ๊ณ , ์ด๋ค ๋ฐ์ดํฐ๋ ์ ๋ ฌ๋ ์ํ๋ก ์กด์ฌํ๋ค. ์ด ๋ ๊ฒฝ์ฐ์ ๋ฐ์ดํฐ๋ฅผ ์ฐพ๋ ๋ฐฉ๋ฒ์ ์กฐ๊ธ ๋ค๋ฅด๋ค. โ ์ ๋ ฌ๋์ง ์์ ์งํฉ์์์ ์์ฐจ ํ์ ๊ฒ์ ์ฑ๊ณต ์ฒซ ๋ฒ์งธ ๋ฐ์ดํฐ๋ถํฐ ์ฐจ๋ก๋ก ๋น๊ตํด์ ์ฐพ์ ๋ฐ์ดํฐ์ ์์น๋ฅผ ๋ฐํํ๋ค. ๊ฒ์ ์คํจ ์ฒซ ๋ฒ์งธ ๋ฐ์ดํฐ๋ถํฐ ์ฐจ๋ก๋ก ๋น๊ตํด์ ์ฐพ์ง ๋ชปํ ๊ฒฝ์ฐ, -1 ์์น๋ฅผ ์ฐพ์๋ค๊ณ ๋ฐํํด์ ๊ฒ์์ ์คํจํ ๊ฒ์ผ๋ก ์ฒ๋ฆฌํ๋ค. def seqSearch(ary, fData) : pos = -1 size = len(ary) print('## ๋น๊ตํ ๋ฐ์ดํฐ ==> ', end = '') for i in range(size) : print(ary[i], end = ' ') if ary[i] == fData..
2022.06.29 -
- [Python] ์ํ ์ฐ๊ฒฐ ๋ฆฌ์คํธ(Circular Linked List)
์ํ ์ฐ๊ฒฐ ๋ฆฌ์คํธ(Circular Linked List) ์ํ ์ฐ๊ฒฐ ๋ฆฌ์คํธ์ ๊ฐ๋ ๋จ์ ์ฐ๊ฒฐ ๋ฆฌ์คํธ(Singly Linked List) ๋๊น์ง ๋ฐฉ๋ฌธํ ํ์๋ ๋ ์ด์ ๋ฐฉ๋ฌธํ ๊ณณ์ด ์์ด ์ข ๋ฃ๋๋ฏ๋ก ๋ค์ ๋ฐฉ๋ฌธํ๋ ค๋ฉด ํค๋(head)๋ถํฐ ์ฌ์์ํด์ผ ํ๋ค. ์ํ ์ฐ๊ฒฐ ๋ฆฌ์คํธ(Circular Linked List)๋ ๋จ์ ์ฐ๊ฒฐ ๋ฆฌ์คํธ์ ๋ง์ง๋ง ๋ ธ๋๊ฐ ๋ค์ ์ฒซ ๋ฒ์งธ ๋ ธ๋๋ฅผ ๊ฐ๋ฆฌํค๋๋ก ์ค์ ๋์ด ๋ฆฌ์คํธ ํํ๊ฐ ์(Circle) ํํ๋ก ๊ตฌ์ฑ๋๋ค. ์์ ์์น์ ๋ค์ ์์น๊ฐ ๊ณ์ ์ด์ด์ง ํ, ๋ง์ง๋ง์ ๋ค์ ์์ ์์น๋ก ๋์์ค๋ ํํ ์ํ ์ฐ๊ฒฐ๋ฆฌ์คํธ๋ ๋จ์ ์ฐ๊ฒฐ ๋ฆฌ์คํธ์ ๋ง์ฐฌ๊ฐ์ง๋ก ๋ฐ์ดํฐ ์ฝ์ ์์ ์ค๋ฒํค๋๊ฐ ๋ฐ์ํ์ง ์๋๋ค. ์ํ ์ฐ๊ฒฐ ๋ฆฌ์คํธ์ ์๋ฆฌ ์ํ ์ฐ๊ฒฐ ๋ฆฌ์คํธ์ ์๋ฆฌ ๋ฐ ๊ตฌ์กฐ๋ ๋จ์ ์ฐ๊ฒฐ ๋ฆฌ์คํธ์ ๋ง์ ๋ถ๋ถ์ด ๋น์ทํ๋ค...
2022.06.22 -
- [Python] ๋จ์ ์ฐ๊ฒฐ ๋ฆฌ์คํธ(Singly Linked List)
๋จ์ ์ฐ๊ฒฐ ๋ฆฌ์คํธ(Singly Linked List) ๋จ์ ์ฐ๊ฒฐ ๋ฆฌ์คํธ์ ๊ฐ๋ ์ ํ ๋ฆฌ์คํธ(Linear List) ์ฅ์ ๋ฐฐ์ด์ ๊ตฌ์ฑํ์๊ธฐ ๋๋ฌธ์ ๋จ์ํ๋ค. ๋ฌผ๋ฆฌ์ ์ธ ์์์ ๋ ผ๋ฆฌ์ ์ธ ์์๊ฐ ๋์ผํ์ฌ ๋ฐ์ดํฐ๋ฅผ ์ฐพ๊ธฐ ๊ฐ๋จํ๋ค. ํ๋ก๊ทธ๋จ์ผ๋ก ๊ตฌํํ๊ธฐ ๋น๊ต์ ์ฝ๋ค. ๋จ์ : ๋ฐ์ดํฐ๋ฅผ ์ฝ์ ํ๊ฑฐ๋ ์ญ์ ํ ๋ ๋ง์ ์์ ์ด ํ์ํ๋ค. ์) 100๋ง ๊ฐ์ธ ์ ํ ๋ฆฌ์คํธ์ ๋งจ ์์ ๋ฐ์ดํฐ๋ฅผ ํ๋ ์ฝ์ ํ๋ ค๋ฉด ์ฝ 100๋ง ๊ฐ๋ฅผ ๋ค๋ก ์ด๋์ํค๋ ์์ ์ ํด์ผ ํ๋ค. (์ค๋ฒํค๋(Overhead) ๋ฐ์) ๋จ์ ์ฐ๊ฒฐ ๋ฆฌ์คํธ(Singly Linked List) ์ ํ ๋ฆฌ์คํธ(Linear List)์ ๋ฌ๋ฆฌ, ์ ์ฅ๋ ๋ ธ๋๋ค์ด ๋ฌผ๋ฆฌ์ ์ผ๋ก ๋จ์ด์ง ๊ณณ์ ์์นํ๋ค. ๊ฐ ๋ ธ๋์ ๋ฒ์ง๋ 100, 200, 130 ๋ฑ์ผ๋ก ์์ฐจ์ ์ด์ง ์๋ค. ๋ฐ์ดํฐ์ ๋งํฌ๋ก ๊ตฌ..
2022.06.22 -
- [Python] ์ ํ ์ฐ๊ฒฐ ๋ฆฌ์คํธ(Linear Linked List)
์ ํ ๋ฆฌ์คํธ(Linear Linked List) ์ ํ ๋ฆฌ์คํธ์ ๊ธฐ๋ณธ ๊ฐ๋ ๋ฐ์ดํฐ๋ฅผ ์ผ์ ํ ์์๋ก ๋์ดํ ๊ตฌ์กฐ ์์ฐจ ๋ฆฌ์คํธ(Ordered List)๋ผ๊ณ ๋ ํ๋ค. ์ ๋ ฅ ์์๋๋ก ์ ์ฅํ๋ ๋ฐ์ดํฐ์ ํด๋นํ๋ค. ์ ํ ๋ฆฌ์คํธ๋ ๋ค์ํ ๋ฐฉ๋ฒ์ผ๋ก ๊ตฌํํ ์ ์์ง๋ง, ๊ฐ์ฅ ๊ธฐ๋ณธ์ ์ธ ๋ฐฉ๋ฒ์ ๋ฐฐ์ด ์ ์ด์ฉํ๋ ๊ฒ์ด๋ค. ์ ํ ๋ฆฌ์คํธ๋ ๋ฉ๋ชจ๋ฆฌ์์๋ ์ฐจ๋ก๋ก ์ ์ฅ๋๋ค. ์๋ฆฌ ๋ฐ์ดํฐ ์ฝ์ 1๋จ๊ณ : ๋งจ ๋์ ๋น์นธ์ ํ๋ณดํ๋ค. 2๋จ๊ณ : ์ฝ์ ํ๊ณ ์ ํ๋ ๊ณต๊ฐ์ ๋น์นธ์ด ์์ผ๋ฏ๋ก, ์ฝ์ ํ๊ณ ์ ํ๋ ๊ณต๊ฐ ๋ค์ ์๋ ์์๋ค์ ํ์นธ์ฉ ๋ค๋ก ์ฎ๊ธด๋ค. 3๋จ๊ณ : ๋น์๋ฆฌ์ ์์๋ฅผ ์ฝ์ ํ๋ค. ๋ฐ์ดํฐ ์ญ์ ์ํ๋ ์์๊ฐ ์ญ์ ๋ ํ ๋น์นธ์ ๊ทธ๋๋ก ๋์ง ์๊ณ ๋ค์ ์์๋ค์ ์์ผ๋ก ํ์นธ์ฉ ์ด๋์ํจ๋ค. ์ ํ ๋ฆฌ์คํธ์ ๊ตฌํ ์ฌ์ฉ์๊ฐ ์ ๋ ฅํ๋ ๋ฐ์ดํฐ๊ฐ ๊ฐ๋ณ์ ์ผ๋ก..
2022.06.22