์ ์ฒด ๊ธ
-
- [Python] ํ์ดํ ์น(PyTorch)์์ ์ฐ์ฐ ์ฅ์น ์ค์ ํ๊ธฐ (GPU, CPU)ํ์ดํ ์น(PyTorch)์์ ์ฐ์ฐ ์ฅ์น ์ค์ ํ๊ธฐ (GPU, CPU) ๋ค์ด๊ฐ๋ฉฐ ํ์ดํ ์น(PyTorch)์์ ์ฐ์ฐ ์ฅ์น(GPU/CPU)๋ฅผ ์ค์ ํ๋ ์ฝ๋๋ฅผ ์์๋ณด์. ๋ฐฉ๋ฒ GPU ์ฌ์ฉ์ด ๊ฐ๋ฅํ ๊ฒฝ์ฐ @torch.device@๋ฅผ @cuda@๋ฅผ ์ค์ ํ๊ณ , ๊ทธ๋ ์ง ์์ ๊ฒฝ์ฐ @cpu@๋ฅผ ์ฐ์ฐ ์ฅ์น๋ก ์ค์ ํ๋ค. # GPU ์ค์ (์ฌ์ฉ ๊ฐ๋ฅํ ๊ฒฝ์ฐ) device = torch.device("cuda" if torch.cuda.is_available() else "cpu") print("device >>" , device)
2023.07.18 -
- [Python] ์ฌ์ดํท๋ฐ(Scikit-Learn) ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ค์นํ๊ธฐ (ModuleNotFoundError: No module named 'sklearn' ํด๊ฒฐ๋ฒ)์ฌ์ดํท๋ฐ(Scikit-Learn) ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ค์นํ๊ธฐ ๋ค์ด๊ฐ๋ฉฐ ์ฌ์ดํท๋ฐ(Scikit-Learn) ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ค์นํ๋ ๋ฐฉ๋ฒ์ ์์๋ณด์. ๋ฐฉ๋ฒ > pip install sklearn > pip install scikit-learn ModuleNotFoundError: No module named 'sklearn' ์ด์ ํด๊ฒฐํ๊ธฐ ์ฌ์ดํท๋ฐ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๊ฐ ์ค์น๋์ง ์์์ ๋ฐ์ํ๋ ์๋ฌ์ด๋ค. ํ์ง๋ง, ์๋์ฝ๋ค ๊ฐ์ ํ๊ฒฝ์์ ์ฌ์ดํท๋ฐ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ค์นํด๋ ๋จ๋ ๊ฒฝ์ฐ๊ฐ ์๋ค. ์ด๋๋ @-u@(@--upgrade@) ์ต์ ์ ๋ฃ์ด์ฃผ๊ณ ๋ค์ ์ค์นํด์ฃผ๋ฉด ๋๋ค. > pip install -U scikit-learn > pip3 install -U scikit-learn ์ฐธ๊ณ ์ฌ์ดํธ Installing scikit-learn T..
2023.07.18 -
- [PyQt] QTimer.singleShot ํจ์๋ฅผ ํน์ ์๊ฐ ๊ฐ๊ฒฉ์ผ๋ก ์ฌ๋ฌ๋ฒ ์คํํ๋ ๋ฐฉ๋ฒQTimer.singleShot ํจ์๋ฅผ ํน์ ์๊ฐ ๊ฐ๊ฒฉ์ผ๋ก ์ฌ๋ฌ๋ฒ ์คํํ๋ ๋ฐฉ๋ฒ๋ค์ด๊ฐ๋ฉฐ@PyQt5@์์ @QTimer.singleShot@ ํจ์๋ฅผ ํน์ ์๊ฐ ๊ฐ๊ฒฉ์ผ๋ก ์ฌ๋ฌ๋ฒ ์คํํ ์ ์๋ค.@QTimer.singleShot@ ํจ์๋ ๋ฐ๋ฆฌ์ด ๋จ์์ ์๊ฐ ์ง์ฐ์ ์ค ํ, ํน์ ํจ์๋ฅผ ์คํํด์ฃผ๋ ํจ์์ด๋ค. ์์ ๋ค์์ @QTimer.singleShot@ ํจ์๋ฅผ 3์ด ๊ฐ๊ฒฉ์ผ๋ก ์ฌ๋ฌ ๋ฒ ์คํํ๋ ์์ ์ด๋ค.๋ฐ๋ณต๋ฌธ๊ณผ ์ฌ๊ท ํธ์ถ์ ์ด์ฉํ์ฌ ๊ตฌํํ์๋ค.from PyQt5.QtCore import QTimerclass MyClass: def __init__(self): self.count = 0 def start_timer(self): self.count = 0 self.r..
2023.07.16 -
- [Python] ์๋์ฝ๋ค(Anaconda) ํ๋กฌํํธ์์ ML/DL ์ค์ต ํ๊ฒฝ ์ธํ ํ๊ธฐ (PyTorch)์๋์ฝ๋ค(Anaconda) ํ๋กฌํํธ์์ ์ค์ต ํ๊ฒฝ ์ธํ ํ๊ธฐ (PyTorch) ๋ค์ด๊ฐ๋ฉฐ ๋จธ์ ๋ฌ๋(ML), ๋ฅ๋ฌ๋(DL) ์ค์ต์ ์ํด ์ปดํจํฐ์ ์๋์ฝ๋ค(Anaconda)๋ฅผ ์ค์นํ ํ, ์๋์ฝ๋ค ํ๋กฌํํธ๋ฅผ ํตํด ์ค์ต ํ๊ฒฝ์ ๊ตฌ์ถํ๋ ๊ณผ์ ์ ์ ๋ฆฌํด๋ณธ๋ค. ์ค์ต์ ํ๊ตญ ๋ง์ดํฌ๋ก์ํํธ(Microsoft Korea)์์ AI ํ๋ก์ ํธ ์ ์ ์ฉ๋๋ก ์ ๊ณตํด์ค ์ ์ (Azure) ํด๋ผ์ฐ๋ ์๋์ฐ VM์ ์ด์ฉํ์ฌ ์งํํ์๋ค. (์ด ํด๋ผ์ฐ๋ ์๋์ฐ VM์ ์ด์ฉํ์ฌ ์์ผ๋ก 2๊ฐ์ ๋์ ํ์ดํ ์น(PyTorch)๋ฅผ ์ด์ฉํ์ฌ AI ํ๋ก์ ํธ๋ฅผ ์งํํ ์์ ์ด๋ค.) ์ค์ตํ๊ธฐ ์ด๋ฒ ์ค์ต์ ๊ทธ๋ํฝ ์นด๋(NVIDIA Tesla T4)๊ฐ ๋ด์ฅ๋ ์ ์ (Azure) ํด๋ผ์ฐ๋์ Windows Server 2019 VM์์ ์งํํ์๋ค. (์ด VM์ ์์ธํ..
2023.07.12 -
- [PyQt] QAction์์ triggered ์๊ทธ๋์ ์ฌ์ฉํ ๋, ์ธ์๋ฅผ triggered ๋ฉ์๋์ ์ ๋ฌํ๋ ๋ฐฉ๋ฒQAction์์ triggered ์๊ทธ๋์ ์ฌ์ฉํ ๋, ์ธ์๋ฅผ triggered ๋ฉ์๋์ ์ ๋ฌํ๋ ๋ฐฉ๋ฒPyQt์ @QAction@์์ @triggered@ ์๊ทธ๋์ ์ฌ์ฉํ ๋, ์ธ์๋ฅผ @triggered@ ๋ฉ์๋์ ์ ๋ฌํ๋ ๋ฐฉ๋ฒ์ ์์๋ณด์. ๋๋ค ํจ์ ์ฌ์ฉํ๊ธฐaction = QAction("My Action", parent)action.triggered.connect(lambda: my_function(arg1, arg2))my_function์ arg1๊ณผ arg2๋ฅผ ์ธ์๋ก ๋ฐ๋ ํจ์์ด๋ค.triggered ์๊ทธ๋์ด ๋ฐ์ํ๋ฉด, ๋๋ค ํจ์๊ฐ ํธ์ถ๋๊ณ my_function์ด ํธ์ถ๋๋ค.arg1๊ณผ arg2๋ ๋๋ค ํจ์์์ ์ง์ ์ ๋ฌ๋๋ค. @functools.partial@ ์ฌ์ฉํ๊ธฐimport functoolsa..
2023.07.08 -
- [PyQt] QClipboard.Clipboard์ QClipboard.Selection์ ์ฐจ์ด์ PyQt5์์ @QClipboard.Clipboard@์ @QClipboard.Selection@์ ์ฐจ์ด์ ๋ค์ด๊ฐ๋ฉฐ@QClipboard.Clipboard@์ @QClipboard.Selection@์ PyQt์์ ํด๋ฆฝ๋ณด๋์ ๋ฐ์ดํฐ๋ฅผ ์ค์ ๋ฐ ๊ฐ์ ธ์ค๋ ๋ฐฉ๋ฒ์ ์ง์ ํ๋ ์์์ด๋ค. ์ฌ์ฉ๋ฒ๋ค์ ๋ชจ๋์ @import@ํ์ฌ ํด๋ฆฝ๋ณด๋ ๊ธฐ๋ฅ์ ์ฌ์ฉํ ์ ์๋ค.from PyQt5.QtGui import QClipboard ์ฌ์ฉ ์def copyElementNameToClipboard(self): name = self.sender().text() app = QApplication.instance() clipboard = app.clipboard() clipboard.setText(name, QClipb..
2023.07.07 -
- [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 -
- [Docker] ๋์ปค ์จ๋ผ์ธ ์ค์ต ์ฌ์ดํธ (Play with Docker)๋์ปค ์จ๋ผ์ธ ์ค์ต ์ฌ์ดํธ (Play with Docker) ๋ค์ด๊ฐ๋ฉฐ ์ค์น ์์ด ์จ๋ผ์ธ์์ ๋์ปค๋ฅผ ์ค์ตํ ์ ์๋ ์ฌ์ดํธ๊ฐ ์๋ค. ๋์ปค๋ฅผ ์ค์ตํ๋ ค๋ฉด ๋ฆฌ๋ ์ค๋ฅผ ์ค์นํด์ผ ํ๋๋ฐ, ์ด๋ ๊ฒ ๋ณต์กํ ๋์ปค ์คํ ํ๊ฒฝ์ ๊ตฌ์ ๋ฐ์ง ์๊ณ ๋ก๊ทธ์ธ๋ง ํ๋ฉด ์จ๋ผ์ธ์ผ๋ก ๊ฐ๋จํ ์ค์ตํ ์ ์๋ค. ์ฌ์ดํธ ๋ฐ๋ก๊ฐ๊ธฐ https://labs.play-with-docker.com/ Play with Docker Play with Docker A simple, interactive and fun playground to learn Docker Login labs.play-with-docker.com ์ฐธ๊ณ ์ฃผ์ด์ง ์๊ฐ (4์๊ฐ) ๋์๋ง ์ค์ต์ ํ ์ ์๋ค. ์๊ฒฉ ์ ์ ์ฃผ์๋ฅผ ๋ณต์ฌํ์ฌ ๊ฐ์ธ PC์ ํฐ๋ฏธ๋์ ์ด์ฉํ์ฌ ์ ์ํ ์ ์๋ค.
2023.06.29 -
- [Data Science] ๋ฐ์ดํฐ์ ์ ํ
๋ฐ์ดํฐ์ ์ ํ ์ ํ ๋ฐ์ดํฐ ํํ(๊ณ ์ ๋ ํ๋)๊ฐ ์์ผ๋ฉฐ, ์ฐ์ฐ์ด ๊ฐ๋ฅํ๋ค. ์ฃผ๋ก ๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค(RDBMS)์ ์ ์ฅ๋๋ค. ๋ฐ์ดํฐ ์์ง ๋์ด๋๊ฐ ๋ฎ๋ค. ํ์์ด ์ ํด์ ธ ์์ด ์ฒ๋ฆฌ๊ฐ ์ฌ์ด ํธ์ด๋ค. ์) ๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค, ์คํ๋ ๋์ํธ, CSV ๋ฑ ๋ฐ์ ํ ๋ฐ์ดํฐ ํํ(์คํค๋ง, ๋ฉํ ๋ฐ์ดํฐ)๊ฐ ์์ผ๋ฉฐ, ์ฐ์ฐ์ด ๋ถ๊ฐ๋ฅํ๋ค. ์ฃผ๋ก ํ์ผ๋ก ์ ์ฅ๋๋ค. ๋ฐ์ดํฐ ์์ง ๋์ด๋๊ฐ ์ค๊ฐ์ด๋ค. ๋ณดํต API ํํ๋ก ์ ๊ณต๋๊ธฐ ๋๋ฌธ์ ๋ฐ์ดํฐ ์ฒ๋ฆฌ ๊ธฐ์ (ํ์ฑ)์ด ์๊ตฌ๋๋ค. ์) XML, HTML, JSON, ๋ก๊ทธ ํํ(์น ๋ก๊ทธ, ์ผ์ ๋ฐ์ดํฐ) ๋ฑ ๋น์ ํ ๋ฐ์ดํฐ ํํ๊ฐ ์์ผ๋ฉฐ ์ฐ์ฐ์ด ๋ถ๊ฐ๋ฅํ๋ค. ์ฃผ๋ก NoSQL์ ์ ์ฅ๋๋ค. ๋ฐ์ดํฐ ์์ง ๋์ด๋๊ฐ ๋๋ค. ํ ์คํธ ๋ง์ด๋ ํน์ ํ์ผ์ผ ๊ฒฝ์ฐ ํ์ผ์ ๋ฐ์ดํฐ ํํ๋ก ํ์ฑํด์ผ ํ๊ธฐ ๋๋ฌธ์ ์์ง ๋ฐ..
2023.06.29 -
- [BOJ-24313][C++] ์๊ณ ๋ฆฌ์ฆ ์์ - ์ ๊ทผ์ ํ๊ธฐ 1๋ฌธ์ ์ค๋๋ ์์ค์ด๋ ์ ๊ทผ์ ํ๊ธฐ ์์ ์กฐ๊ต๋ฅผ ํ๊ณ ์๋ค. ์๋น ๊ฐ ์์ ํ ๋ด์ฉ์ ํ์๋ค์ด ์ ์ดํดํ๋์ง ๋ฌธ์ ๋ฅผ ํตํด์ ํ์ธํด๋ณด์. ์๊ณ ๋ฆฌ์ฆ์ ์์ ์๊ฐ์ ๋ํ๋ด๋ O-ํ๊ธฐ๋ฒ(๋น -์ค)์ ๋ค์๊ณผ ๊ฐ์ด ์ ์ํ์. $O(g(n)) = \{ f(n)\text{ | ๋ชจ๋ } n ≥ n_0 \text{์ ๋ํ์ฌ } f(n) ≤ c × g(n) \text{์ธ ์์ ์์ } c \text{์ } n_0 \text{๊ฐ ์กด์ฌํ๋ค.} \}$ ์ด ์ ์๋ ์ค์ O-ํ๊ธฐ๋ฒ(https://en.wikipedia.org/wiki/Big_O_notation)๊ณผ ๋ค๋ฅผ ์ ์๋ค. ํจ์ $f(n) = a_{1}n + a_{0}$, ์์ ์ ์ c, n_{0}๊ฐ ์ฃผ์ด์ง ๊ฒฝ์ฐ $O(n)$ ์ ์๋ฅผ ๋ง์กฑํ๋์ง ์์๋ณด์. ์ ๋ ฅ ์ฒซ์งธ ์ค์ ํจ์ f(n)..
2023.06.27 -
- [BOJ-24267][C++] ์๊ณ ๋ฆฌ์ฆ ์์ - ์๊ณ ๋ฆฌ์ฆ์ ์ํ ์๊ฐ 6๋ฌธ์ ์ค๋๋ ์์ค์ด๋ ์๊ณ ๋ฆฌ์ฆ์ ์ํ์๊ฐ ์์ ์กฐ๊ต๋ฅผ ํ๊ณ ์๋ค. ์๋น ๊ฐ ์์ ํ ๋ด์ฉ์ ํ์๋ค์ด ์ ์ดํดํ๋์ง ๋ฌธ์ ๋ฅผ ํตํด์ ํ์ธํด๋ณด์. ์ ๋ ฅ์ ํฌ๊ธฐ n์ด ์ฃผ์ด์ง๋ฉด MenOfPassion ์๊ณ ๋ฆฌ์ฆ ์ํ ์๊ฐ์ ์์ ์ถ๋ ฅ๊ณผ ๊ฐ์ ๋ฐฉ์์ผ๋ก ์ถ๋ ฅํด๋ณด์. MenOfPassion ์๊ณ ๋ฆฌ์ฆ์ ๋ค์๊ณผ ๊ฐ๋ค. MenOfPassion(A[], n) { sum
2023.06.26 -
- [BOJ-24262][C++] ์๊ณ ๋ฆฌ์ฆ ์์ - ์๊ณ ๋ฆฌ์ฆ์ ์ํ ์๊ฐ 1๋ฌธ์ ์ค๋๋ ์์ค์ด๋ ์๊ณ ๋ฆฌ์ฆ์ ์ํ์๊ฐ ์์ ์กฐ๊ต๋ฅผ ํ๊ณ ์๋ค. ์๋น ๊ฐ ์์ ํ ๋ด์ฉ์ ํ์๋ค์ด ์ ์ดํดํ๋์ง ๋ฌธ์ ๋ฅผ ํตํด์ ํ์ธํด๋ณด์. ์ ๋ ฅ์ ํฌ๊ธฐ n์ด ์ฃผ์ด์ง๋ฉด MenOfPassion ์๊ณ ๋ฆฌ์ฆ ์ํ ์๊ฐ์ ์์ ์ถ๋ ฅ๊ณผ ๊ฐ์ ๋ฐฉ์์ผ๋ก ์ถ๋ ฅํด๋ณด์. MenOfPassion ์๊ณ ๋ฆฌ์ฆ์ ๋ค์๊ณผ ๊ฐ๋ค. MenOfPassion(A[], n) { i = ⌊n / 2⌋; return A[i]; # ์ฝ๋1 } ์ ๋ ฅ ์ฒซ์งธ ์ค์ ์ ๋ ฅ์ ํฌ๊ธฐ n(1 ≤ n ≤ 500,000)์ด ์ฃผ์ด์ง๋ค. ์ถ๋ ฅ ์ฒซ์งธ ์ค์ ์ฝ๋1 ์ ์ํ ํ์๋ฅผ ์ถ๋ ฅํ๋ค. ๋์งธ ์ค์ ์ฝ๋1์ ์ํ ํ์๋ฅผ ๋คํญ์์ผ๋ก ๋ํ๋ด์์ ๋, ์ต๊ณ ์ฐจํญ์ ์ฐจ์๋ฅผ ์ถ๋ ฅํ๋ค. ๋จ, ๋คํญ์์ผ๋ก ๋ํ๋ผ ์ ์๊ฑฐ๋ ์ต๊ณ ์ฐจํญ์ ์ฐจ์๊ฐ 3๋ณด๋ค ํฌ๋ฉด 4๋ฅผ ์ถ๋ ฅํ๋ค. ์์ ์ ๋ ฅ 1 1 ์..
2023.06.25 -
- [BOJ-24265][C++] ์๊ณ ๋ฆฌ์ฆ ์์ - ์๊ณ ๋ฆฌ์ฆ์ ์ํ ์๊ฐ 4๋ฌธ์ ์ค๋๋ ์์ค์ด๋ ์๊ณ ๋ฆฌ์ฆ์ ์ํ์๊ฐ ์์ ์กฐ๊ต๋ฅผ ํ๊ณ ์๋ค. ์๋น ๊ฐ ์์ ํ ๋ด์ฉ์ ํ์๋ค์ด ์ ์ดํดํ๋์ง ๋ฌธ์ ๋ฅผ ํตํด์ ํ์ธํด๋ณด์. ์ ๋ ฅ์ ํฌ๊ธฐ n์ด ์ฃผ์ด์ง๋ฉด MenOfPassion ์๊ณ ๋ฆฌ์ฆ ์ํ ์๊ฐ์ ์์ ์ถ๋ ฅ๊ณผ ๊ฐ์ ๋ฐฉ์์ผ๋ก ์ถ๋ ฅํด๋ณด์. MenOfPassion ์๊ณ ๋ฆฌ์ฆ์ ๋ค์๊ณผ ๊ฐ๋ค. MenOfPassion(A[], n) { sum
2023.06.24 -
- [BOJ-24264][C++] ์๊ณ ๋ฆฌ์ฆ ์์ - ์๊ณ ๋ฆฌ์ฆ์ ์ํ ์๊ฐ 3๋ฌธ์ ์ค๋๋ ์์ค์ด๋ ์๊ณ ๋ฆฌ์ฆ์ ์ํ์๊ฐ ์์ ์กฐ๊ต๋ฅผ ํ๊ณ ์๋ค. ์๋น ๊ฐ ์์ ํ ๋ด์ฉ์ ํ์๋ค์ด ์ ์ดํดํ๋์ง ๋ฌธ์ ๋ฅผ ํตํด์ ํ์ธํด๋ณด์. ์ ๋ ฅ์ ํฌ๊ธฐ n์ด ์ฃผ์ด์ง๋ฉด MenOfPassion ์๊ณ ๋ฆฌ์ฆ ์ํ ์๊ฐ์ ์์ ์ถ๋ ฅ๊ณผ ๊ฐ์ ๋ฐฉ์์ผ๋ก ์ถ๋ ฅํด๋ณด์. MenOfPassion ์๊ณ ๋ฆฌ์ฆ์ ๋ค์๊ณผ ๊ฐ๋ค. MenOfPassion(A[], n) { sum
2023.06.23 -
- [Docker] ๋์ปค ๋ช ๋ น์ด ์ ๋ฆฌ (Container, Image, Volume, Network)๋์ปค ๋ช ๋ น์ด ์ ๋ฆฌ (Container, Image, Volume, Network) ๋ค์ด๊ฐ๋ฉฐ ๋์ปค์์ ์ฌ์ฉํ๋ ๋ํ์ ์ธ ๋ช ๋ น์ด๋ฅผ ์ ๋ฆฌํด๋ณธ๋ค. ์ปจํ ์ด๋(Container), ์ด๋ฏธ์ง(Image), ๋ณผ๋ฅจ(Volume), ๋คํธ์ํฌ(Network) ๊ด๋ จ ๋ช ๋ น์ด์ ๋์ปค ์ค์(Docker Swarm)๊ณผ ๊ด๋ จ๋ ๋ช ๋ น์ด ๊ทธ๋ฆฌ๊ณ ๋จ๋ ์ผ๋ก ์ฐ์ด๋ ๋ช ๋ น์ด๋ฅผ ์ ๋ฆฌํด๋ณธ๋ค. ๋์ปค ๋ช ๋ น์ด ํํ ๋์ปค ๋ช ๋ น์ด์ ํํ๋ ๋ค์๊ณผ ๊ฐ๋ค. $ docker ์ปค๋งจ๋ (์ต์ ) ๋์ (์ธ์) # โโ ์์ ์ปค๋งจ๋ # โ ํ์ ์ปค๋งจ๋ @docker@ ๋ช ๋ น์ด ๋ค์ ์ค๋ '๋ฌด์์' '์ด๋ป๊ฒ'์ ํด๋นํ๋ ๋ถ๋ถ์ ‘์ปค๋งจ๋(Command)’๋ผ๊ณ ํ๋ค. ์ปค๋งจ๋๋ ๋ค์ '์์ ์ปค๋งจ๋’์ ‘ํ์ ์ปค๋งจ๋’๋ก ๊ตฌ์ฑ๋๋ฉฐ, ์์ ์ปค๋งจ๋๊ฐ ‘๋ฌด์์’, ํ์ ์ปค๋งจ๋๊ฐ ‘์ด๋ป๊ฒ’..
2023.06.23 -
- [BOJ-24263][C++] ์๊ณ ๋ฆฌ์ฆ ์์ - ์๊ณ ๋ฆฌ์ฆ์ ์ํ ์๊ฐ 2๋ฌธ์ ์ค๋๋ ์์ค์ด๋ ์๊ณ ๋ฆฌ์ฆ์ ์ํ์๊ฐ ์์ ์กฐ๊ต๋ฅผ ํ๊ณ ์๋ค. ์๋น ๊ฐ ์์ ํ ๋ด์ฉ์ ํ์๋ค์ด ์ ์ดํดํ๋์ง ๋ฌธ์ ๋ฅผ ํตํด์ ํ์ธํด๋ณด์. ์ ๋ ฅ์ ํฌ๊ธฐ n์ด ์ฃผ์ด์ง๋ฉด MenOfPassion ์๊ณ ๋ฆฌ์ฆ ์ํ ์๊ฐ์ ์์ ์ถ๋ ฅ๊ณผ ๊ฐ์ ๋ฐฉ์์ผ๋ก ์ถ๋ ฅํด๋ณด์. MenOfPassion ์๊ณ ๋ฆฌ์ฆ์ ๋ค์๊ณผ ๊ฐ๋ค. MenOfPassion(A[], n) { sum M⇒โฃf(x)โฃ≤cg(x)x>M \Rightarrow |f(x)| \le c g(x) x>M namu.wiki
2023.06.22 -
- [BOJ-14215][C++] ์ธ ๋ง๋๋ฌธ์ ์์ ์ด๋ ๊ธธ์ด๊ฐ a, b, c์ธ ์ธ ๋ง๋๋ฅผ ๊ฐ์ง๊ณ ์๊ณ , ๊ฐ ๋ง๋์ ๊ธธ์ด๋ฅผ ๋ง์๋๋ก ์ค์ผ ์ ์๋ค. ์์ ์ด๋ ์ธ ๋ง๋๋ฅผ ์ด์ฉํด์ ์๋ ์กฐ๊ฑด์ ๋ง์กฑํ๋ ์ผ๊ฐํ์ ๋ง๋ค๋ ค๊ณ ํ๋ค. ๊ฐ ๋ง๋์ ๊ธธ์ด๋ ์์ ์ ์์ด๋ค ์ธ ๋ง๋๋ฅผ ์ด์ฉํด์ ๋์ด๊ฐ ์์์ธ ์ผ๊ฐํ์ ๋ง๋ค ์ ์์ด์ผ ํ๋ค. ์ผ๊ฐํ์ ๋๋ ๋ฅผ ์ต๋๋ก ํด์ผ ํ๋ค. a, b, c๊ฐ ์ฃผ์ด์ก์ ๋, ๋ง๋ค ์ ์๋ ๊ฐ์ฅ ํฐ ๋๋ ๋ฅผ ๊ตฌํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์์ค. ์ ๋ ฅ ์ฒซ์งธ ์ค์ a, b, c (1 ≤ a, b, c ≤ 100)๊ฐ ์ฃผ์ด์ง๋ค. ์ถ๋ ฅ ์ฒซ์งธ ์ค์ ๋ง๋ค ์ ์๋ ๊ฐ์ฅ ํฐ ์ผ๊ฐํ์ ๋๋ ๋ฅผ ์ถ๋ ฅํ๋ค. ์์ ์ ๋ ฅ 1 1 2 3 ์์ ์ถ๋ ฅ 1 5 ์์ ์ ๋ ฅ 2 2 2 2 ์์ ์ถ๋ ฅ 2 6 ์์ ์ ๋ ฅ 3 1 100 1 ์์ ์ถ๋ ฅ 3 3 ์์ ์ ๋ ฅ 4 41 64 16..
2023.06.21 -
- [BOJ-9063][C++] ๋์ง๋ฌธ์ ์์จ๋ 1950 ๋ ํ๊ตญ์ ์์ผ๋ก ๋ง์ ์ํด๋ฅผ ๋ณธ ์ฌ๋๋ค ์ค ํ๋๋ค. ์ ์ ํต์ ์ํด๋ณด์ง ์์ ์ฌ๋์ด ์ด๋ ์์๊น ๋ง์ ๊ทธ๋ 6.25 ๊ฐ ์ผ์ด๋๊ธฐ ์ ๋ง ํด๋ ์ถฉ์ฒญ๋ ์ง๋ฐฉ์ ๋์ ๋์ง๋ฅผ ์์ ํ ํฐ ๋ถ์์๋ค. ์ ์์ด ๋์ ์์จ๋ ๋ ๋ฌธ์์ ๊ฐ ๋๊ฐ๋ ๊ฒ๋ค๋ง ์ฑ๊ฒจ์ ์ผ๋ณธ์ผ๋ก ํผ๋์ ๊ฐ์ง๋ง ํผ๋ ์ค์ ๊ทธ๋ง ๋ ๋ฌธ์๋ฅผ ์์ด๋ฒ๋ฆฌ๊ณ ๋ง๋ค. ์ ์์ด ๋๋ ํ์ ์์จ์ ๋ ์ ์ด๋ฏธ ๋ค๋ฅธ ์ฌ๋๋ค์ ๋ ผ๋ฐญ์ด ๋์ด ์์๊ณ , ์์จ๋ ๋ ์ ๋์ฐพ์ผ๋ ค ํ์ง๋ง ๋ฌธ์๊ฐ ์์ผ๋ ์๋ผ ์ฐ๋ ๊ฒ๊ณผ ๋ค๋ฅผ ๋ฐ ์์๋ค. ์ด๋ฌ๋ค๊ฐ ์์จ๋ ๊ธธ๋ฐ๋ฅ์ ๋์๊ฒ ์๊ฒผ๋ค. ์ด๋, ์์จ์๊ฒ ์ข์ ์๊ฐ์ด ๋ ์ฌ๋์ผ๋ ๋ฐ๋ก ์์ ์ด ์ต๊ด์ฒ๋ผ ๋ ๊น์์ด ๋ญ๊ฐ ํ์์ ํด๋์๋ ์ฌ์ค์ด๋ค. ์์จ๋ ํ์ ํ ๋๋ง๋ค ์์ ์ ๋ ผ๋ฐญ์ ๊ฑฐ๋๋ค๊ฐ ๋ ์ ๊น์ ๊ณณ์ ์์ ์ ์ด๋ฆ์ด ์์ด์ง ์ฅ๊ตฌ์ฌ์..
2023.06.20 -
- [BOJ-2903][C++] ์ค์ ์ด๋ ์๊ณ ๋ฆฌ์ฆ๋ฌธ์ ์๊ทผ์ด๋ ์น๊ตฌ๋ค๊ณผ ํจ๊ป SF์ํ๋ฅผ ์ฐ์ผ๋ ค๊ณ ํ๋ค. ์ด ์ํ๋ ์ธ๊ณ ์งํ์ด ํ์ํ๋ค. ์ค์ ๋ก ์ฐ์ฃผ์ ์ ํ๊ณ ์ธ๊ณ ํ์ฑ์ ๊ฐ์ ์ดฌ์์ ํ ์ ์๊ธฐ ๋๋ฌธ์, ์ปดํจํฐ ๊ทธ๋ํฝ์ผ๋ก CG์ฒ๋ฆฌ๋ฅผ ํ๋ ค๊ณ ํ๋ค. ์ธ๊ณ ์งํ์ ์ค์ ์ด๋ ์๊ณ ๋ฆฌ์ฆ์ ์ด์ฉํด์ ๋ง๋ค๋ ค๊ณ ํ๋ค. ์๊ณ ๋ฆฌ์ฆ์ ์์ํ๋ฉด์ ์๊ทผ์ด๋ ์ ์ฌ๊ฐํ์ ์ด๋ฃจ๋ ์ 4๊ฐ๋ฅผ ๊ณ ๋ฅธ๋ค. ๊ทธ ํ์๋ ๋ค์๊ณผ ๊ฐ์ ๊ณผ์ ์ ๊ฑฐ์ณ์ ์งํ์ ๋ง๋ ๋ค. ์ ์ฌ๊ฐํ์ ๊ฐ ๋ณ์ ์ค์์ ์ ์ ํ๋ ์ถ๊ฐํ๋ค. ์ ์ฌ๊ฐํ์ ์ค์ฌ์ ์ ์ ํ๋ ์ถ๊ฐํ๋ค. ์ด๊ธฐ ์ํ์์ ์์ ๊ฐ์ ๊ณผ์ ์ ํ ๋ฒ ๊ฑฐ์น๋ฉด ์ด 4๊ฐ์ ์ ์ฌ๊ฐํ์ด ์๋ก ์๊ธด๋ค. ์ด์ ๊ฐ์ ๊ณผ์ ์ ์๊ทผ์ด๊ฐ ๋ง์กฑํ ๋ ๊น์ง ๊ณ์ํ๋ค. ์๋ ๊ทธ๋ฆผ์ ๊ณผ์ ์ ์ด 2๋ฒ ๊ฑฐ์ณค์ ๋๊น์ง์ ๋ชจ์ต์ด๋ค. ์ด๊ธฐ ์ํ - ์ 4๊ฐ 1๋ฒ - ์ 9๊ฐ 2๋ฒ - 2..
2023.06.19 -
- [BOJ-2720][C++] ์ธํ์ ์ฌ์ฅ ๋ํ๋ฌธ์ ๋ฏธ๊ตญ์ผ๋ก ์ ํ๊ฐ ๋ํ์ด๋ ์ธํ์๋ฅผ ์ด์ํ๊ณ ์๋ค. ๋ํ์ด๋ ์ต๊ทผ์ ์๋ฅด๋ฐ์ดํธ๋ก ๊ณ ๋ฑํ์ ๋ฆฌ์์ ์ฑ์ฉํ๋ค. ๋ํ์ด๋ ๋ฆฌ์์๊ฒ ์ค๋งํ๋ค. ๋ฆฌ์์ ๊ฑฐ์ค๋ฆ๋์ ์ฃผ๋ ๊ฒ์ ์๊พธ ์ค์ํ๋ค. ์ฌ์ง์ด $0.5๋ฌ๋ฌ๋ฅผ ์ค์ผํ๋ ๊ฒฝ์ฐ์ ๊ฑฐ์ค๋ฆ๋์ผ๋ก $5๋ฌ๋ฌ๋ฅผ ์ฃผ๋๊ฒ์ด๋ค! ์ด์ฉ์ ์์ด ๋ฐ์ด๋ ์ฝ๋ฉ ์ค๋ ฅ์ ๋ฐํํด ๋ฆฌ์์ ๋์์ฃผ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ๋ ค๊ณ ํ์ง๋ง, ๋์๋ธ๋ก๋ฅผ ํ๋๋ผ ์ฝ๋ฉํ ์๊ฐ์ด ์์ด์ ์ด ๋ฌธ์ ๋ฅผ ์ฝ๊ณ ์๋ ์ฌ๋ฌ๋ถ์ด ๋์ ํด์ฃผ์ด์ผ ํ๋ค. ๊ฑฐ์ค๋ฆ๋์ ์ก์๊ฐ ์ฃผ์ด์ง๋ฉด ๋ฆฌ์์ด ์ค์ผํ ์ฟผํฐ(Quarter, $0.25)์ ๊ฐ์, ๋ค์(Dime, $0.10)์ ๊ฐ์, ๋์ผ(Nickel, $0.05)์ ๊ฐ์, ํ๋(Penny, $0.01)์ ๊ฐ์๋ฅผ ๊ตฌํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์์ค. ๊ฑฐ์ค๋ฆ๋์ ํญ์ $5.00 ์ดํ์ด๊ณ , ์๋์ด ..
2023.06.18 -
- [Android] ADB(Android Debug Bridge)๋ฅผ ์ด์ฉํ์ฌ ์ปดํจํฐ์ ์๋๋ก์ด๋ ์ฅ์น ์ฐ๊ฒฐํ๊ธฐADB(Android Debug Bridge)๋ฅผ ์ด์ฉํ์ฌ ์ปดํจํฐ์ ์๋๋ก์ด๋ ์ฅ์น ์ฐ๊ฒฐํ๊ธฐ๋ค์ด๊ฐ๋ฉฐ์๋๋ก์ด๋ ์ฅ์น๋ฅผ ๋ฃจํ (Rooting) ํ์ง ์๊ณ , ADB๋ฅผ ์ด์ฉํ์ฌ ์ปดํจํฐ์์ ๊ฐ๋จํ๊ฒ ์๋๋ก์ด๋ ๊ธฐ๊ธฐ์ ์ค์ ์ ๋ณ๊ฒฝํด์ค ์ ์๋ค. ๋ฐฉ๋ฒโ ์ฌ์ ์์ ์ปดํจํฐ์ ์๋๋ก์ด๋ ์ฅ์น๋ฅผ ์ฐ๊ฒฐํ๊ธฐ ์ ์ ๋ช ๊ฐ์ง ์์ ์ ํด์ค๋ค. ์ปดํจํฐ์ ์๋๋ก์ด๋ ์ฅ์น ๋ชจ๋ ๋์ผํ WIFI์ ์ฐ๊ฒฐ์ํค๊ธฐ์ปดํจํฐ์ ์๋๋ก์ด๋ ์ฅ์น๋ฅผ ๋ชจ๋ ๋์ผํ WIFI์ ์ฐ๊ฒฐ์์ผ์ค๋ค.์๋๋ก์ด๋ ์ฅ์น๋ฅผ USB ์ผ์ด๋ธ์ด ์๋ ๋ฌด์ ์ผ๋ก ์ฐ๊ฒฐ์ํค๊ธฐ ์ํด์์ด๋ค.WIFI๊ฐ ์๋ USB ์ผ์ด๋ธ๋ก๋ ์ปดํจํฐ์ ์๋๋ก์ด๋ ์ฅ์น๋ฅผ ์ฐ๊ฒฐํ ์๋ ์๋๋ฐ, ์ด๋ด ๊ฒฝ์ฐ ์ด ๊ณผ์ ์ ์๋ตํด๋ ๋๋ค. ์๋๋ก์ด๋ ์ฅ์น์ [๊ฐ๋ฐ์ ๋๊ตฌ]์์ USB ๋๋ฒ๊น ๋ชจ๋ ์ค์ ํด์ฃผ๊ธฐ์๋๋ก์ด๋ ์ฅ์น์ @[๊ฐ..
2023.06.18 -
- [Docker] ์๋์ฐ์ฉ ๋์ปค ๋ฐ์คํฌํฑ ์ค์นํ๊ธฐ์๋์ฐ์ฉ ๋์ปค ๋ฐ์คํฌํฑ ์ค์นํ๊ธฐ ๋ค์ด๊ฐ๋ฉฐ ๋ฆฌ๋ ์ค๊ฐ ์๋, ์๋์ฐ์์ ๋์ปค ๋ฐ์คํฌํฑ ํ๋ก๊ทธ๋จ์ ์ค์นํ์ฌ ๋์ปค ์ค์ต์ ํ ์ ์๋ค. ํ์ง๋ง, WSL2(Windows Subsystem for Linux 2) ๋๋ Hyper-V๋ฅผ ์ด์ฉํ๋ ๊ฒ์ด๊ธฐ ๋๋ฌธ์, ๋์ปค๋ ๋ฆฌ๋ ์ค ์์์ ์๋ํ๊ฒ ๋๋ค. ์๋์ฐ์ฉ ๋์ปค ๋ฐ์คํฌํฑ ํ๋ก๊ทธ๋จ์ ์ค์นํด๋ณด์. ๋์ปค ํ๊ฒฝ์ ๊ตฌ์ถํ๋ ๋ฐฉ๋ฒ ๋์ปค ํ๊ฒฝ์ ๊ตฌ์ถํ๋ ๋ฐฉ๋ฒ์ ๋ค์๊ณผ ๊ฐ์ด 3๊ฐ์ง๊ฐ ์๋ค. โ ๋ฆฌ๋ ์ค ์ปดํจํฐ์์ ๋์ปค ์ฌ์ฉํ๊ธฐ โก ๊ฐ์ ๋จธ์ ์ด๋ ๋ ํ ํ๊ฒฝ์ ๋์ปค๋ฅผ ์ค์นํ๊ณ , ์๋์ฐ๋ macOS๋ฅผ ํตํด ์ฌ์ฉํ๊ธฐ โข ์๋์ฐ์ฉ/macOS์ฉ ๋์ปค ์ฌ์ฉํ๊ธฐ ์ด๋ฒ ๊ฒ์๊ธ์์๋ ์๋์ฐ์ฉ ๋์ปค ๋ฐ์คํฌํฑ์ ์ค์นํ๋ ๋ฐฉ๋ฒ์ ์๊ฐํ๋ค. ๋์ปค ๋ฐ์คํฌํฑ ๋์ปค ๋ฐ์คํฌํฑ์ ์ผ๋ฐ์ ์ธ ์ํํธ์จ์ด์ฒ๋ผ ์ฌ์ฉํ๋ค. ํ..
2023.06.17 -
- [BOJ-11005][C++] ์ง๋ฒ ๋ณํ 2๋ฌธ์ 10์ง๋ฒ ์ N์ด ์ฃผ์ด์ง๋ค. ์ด ์๋ฅผ B์ง๋ฒ์ผ๋ก ๋ฐ๊ฟ ์ถ๋ ฅํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์์ค. 10์ง๋ฒ์ ๋์ด๊ฐ๋ ์ง๋ฒ์ ์ซ์๋ก ํ์ํ ์ ์๋ ์๋ฆฌ๊ฐ ์๋ค. ์ด๋ฐ ๊ฒฝ์ฐ์๋ ๋ค์๊ณผ ๊ฐ์ด ์ํ๋ฒณ ๋๋ฌธ์๋ฅผ ์ฌ์ฉํ๋ค. A: 10, B: 11, ..., F: 15, ..., Y: 34, Z: 35 ์ ๋ ฅ ์ฒซ์งธ ์ค์ N๊ณผ B๊ฐ ์ฃผ์ด์ง๋ค. (2 ≤ B ≤ 36) N์ 10์ต๋ณด๋ค ์๊ฑฐ๋ ๊ฐ์ ์์ฐ์์ด๋ค. ์ถ๋ ฅ ์ฒซ์งธ ์ค์ 10์ง๋ฒ ์ N์ B์ง๋ฒ์ผ๋ก ์ถ๋ ฅํ๋ค. ์์ ์ ๋ ฅ 1 60466175 36 ์์ ์ถ๋ ฅ 1 ZZZZZ ์๊ณ ๋ฆฌ์ฆ ๋ถ๋ฅ ์ํ ๊ตฌํ ๋ฌธ์ ์ถ์ฒ https://www.acmicpc.net/problem/11005 11005๋ฒ: ์ง๋ฒ ๋ณํ 2 10์ง๋ฒ ์ N์ด ์ฃผ์ด์ง๋ค. ์ด ์๋ฅผ B์ง๋ฒ์ผ๋ก ๋ฐ๊ฟ ์ถ๋ ฅํ๋ ํ๋ก๊ทธ๋จ์ ..
2023.06.17 -
- [BOJ-2745][C++] ์ง๋ฒ ๋ณํ๋ฌธ์ B์ง๋ฒ ์ N์ด ์ฃผ์ด์ง๋ค. ์ด ์๋ฅผ 10์ง๋ฒ์ผ๋ก ๋ฐ๊ฟ ์ถ๋ ฅํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์์ค. 10์ง๋ฒ์ ๋์ด๊ฐ๋ ์ง๋ฒ์ ์ซ์๋ก ํ์ํ ์ ์๋ ์๋ฆฌ๊ฐ ์๋ค. ์ด๋ฐ ๊ฒฝ์ฐ์๋ ๋ค์๊ณผ ๊ฐ์ด ์ํ๋ฒณ ๋๋ฌธ์๋ฅผ ์ฌ์ฉํ๋ค. A: 10, B: 11, ..., F: 15, ..., Y: 34, Z: 35 ์ ๋ ฅ ์ฒซ์งธ ์ค์ N๊ณผ B๊ฐ ์ฃผ์ด์ง๋ค. (2 ≤ B ≤ 36) B์ง๋ฒ ์ N์ 10์ง๋ฒ์ผ๋ก ๋ฐ๊พธ๋ฉด, ํญ์ 10์ต๋ณด๋ค ์๊ฑฐ๋ ๊ฐ๋ค. ์ถ๋ ฅ ์ฒซ์งธ ์ค์ B์ง๋ฒ ์ N์ 10์ง๋ฒ์ผ๋ก ์ถ๋ ฅํ๋ค. ์์ ์ ๋ ฅ 1 ZZZZZ 36 ์์ ์ถ๋ ฅ 1 60466175 ์๊ณ ๋ฆฌ์ฆ ๋ถ๋ฅ ์ํ ๊ตฌํ ๋ฌธ์์ด ๋ฌธ์ ์ถ์ฒ https://www.acmicpc.net/problem/2745 2745๋ฒ: ์ง๋ฒ ๋ณํ B์ง๋ฒ ์ N์ด ์ฃผ์ด์ง๋ค. ์ด ์๋ฅผ 10์ง๋ฒ์ผ๋ก..
2023.06.16 -
- [CS ๊ฐ๋ ] ์ต์ ๋ฒ ํจํด(Observer Pattern)์ต์ ๋ฒ ํจํด(Observer Pattern) ์ฃผ์ฒด๊ฐ ์ด๋ค ๊ฐ์ฒด(Subject)์ ์ํ ๋ณํ๋ฅผ ๊ด์ฐฐํ๋ค๊ฐ ์ํ ๋ณํ๊ฐ ์์ ๋๋ง๋ค ๋ฉ์๋ ๋ฑ์ ํตํด ์ต์ ๋ฒ ๋ชฉ๋ก์ ์๋ ์ต์ ๋ฒ๋ค์๊ฒ ๋ณํ๋ฅผ ์๋ ค์ฃผ๋ ๋์์ธ ํจํด ์ฃผ์ฒด : ๊ฐ์ฒด์ ์ํ ๋ณํ๋ฅผ ๋ณด๊ณ ์๋ ๊ด์ฐฐ์ ์ต์ ๋ฒ : ์ ๋ฌ๋๋ ๋ฉ์๋ ๋ฑ์ ๊ธฐ๋ฐ์ผ๋ก, ๊ฐ์ฒด์ ์ํ ๋ณํ์ ๋ฐ๋ผ ์ถ๊ฐ ๋ณํ ์ฌํญ์ด ์๊ธฐ๋ ๊ฐ์ฒด๋ค ์ฃผ์ฒด์ ๊ฐ์ฒด๋ฅผ ๋ฐ๋ก ๋์ง ์๊ณ , ์ํ๊ฐ ๋ณ๊ฒฝ๋๋ ๊ฐ์ฒด๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ๊ตฌ์ถํ๊ธฐ๋ ํ๋ค. ์ต์ ๋ฒ ํจํด์ ํ์ฉํ ์๋น์ค๋ก๋ ํธ์ํฐ(Twitter)๊ฐ ์๋ค. ๋ด๊ฐ ์ด๋ค ์ฌ๋์ธ ์ฃผ์ฒด๋ฅผ 'ํ๋ก์ฐ' ํ๋ค๋ฉด ์ฃผ์ฒด๊ฐ ํฌ์คํ ์ ํ๋ฉด ์๋ฆผ์ด 'ํ๋ก์'์๊ฒ ๊ฐ๊ฒ ๋๋ค. ๋ํ ์ต์ ๋ฒ ํจํด์ ์ฃผ๋ก ์ด๋ฒคํธ ๊ธฐ๋ฐ ์์คํ ์ ์ฌ์ฉํ๋ฉฐ, MVC(Model-View-Controller) ํจํด์๋..
1 2023.06.13 -
- [CS ๊ฐ๋ ] ์ ๋ต ํจํด(Strategy Pattern)์ ๋ต ํจํด(Strategy Pattern) ์ ์ฑ ํจํด(Policy Pattern)์ด๋ผ๊ณ ๋ ํ๋ค. ๊ฐ์ฒด์ ํ์๋ฅผ ๋ฐ๊พธ๊ณ ์ถ์ ๊ฒฝ์ฐ '์ง์ ' ์์ ํ์ง ์๊ณ , ์ ๋ต์ด๋ผ๊ณ ๋ถ๋ฅด๋ '์บก์ํํ ์๊ณ ๋ฆฌ์ฆ'์ ์ปจํ ์คํธ ์์์ ๋ฐ๊ฟ์ฃผ๋ฉด์ ์ํธ ๊ต์ฒด๊ฐ ๊ฐ๋ฅํ๊ฒ ๋ง๋๋ ํจํด ํ๋ก๊ทธ๋๋ฐ์์ ์ปจํ ์คํธ๋ ์ํฉ, ๋งฅ๋ฝ, ๋ฌธ๋งฅ์ ์๋ฏธํ๋ฉฐ, ๊ฐ๋ฐ์๊ฐ ์ด๋ ํ ์์ ์ ์๋ฃํ๋ ๋ฐ ํ์ํ ๋ชจ๋ ๊ด๋ จ ์ ๋ณด๋ฅผ ์๋ฏธํ๋ค. ์๋ฐ์ ์ ๋ต ํจํด ์ฐ๋ฆฌ๊ฐ ์ด๋ค ๊ฒ์ ์ด ๋, ๋ค์ด๋ฒํ์ด, ์นด์นด์คํ์ด ๋ฑ ๋ค์ํ ๋ฐฉ๋ฒ์ผ๋ก ๊ฒฐ์ ํ๋ฏ์ด, ์ด๋ค ์์ดํ ์ ์ด ๋ @LUNACard@๋ก ์ฌ๋ ๊ฒ๊ณผ @KAKAOCard@๋ก ์ด ์ ์๋ค. ๋ค์์ ์ผํ ์นดํธ์ ์์ดํ ์ ๋ด์ @LUNACard@ ๋๋ @KAKAOCard@๋ผ๋ 2๊ฐ์ ์ ๋ต์ผ๋ก ๊ฒฐ์ ํ๋ ์ฝ๋์ด๋ค. import ja..
2023.06.12 -
- [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 -
- [Docker] ๋์ปค์ ๊ฐ์ํ ๊ธฐ์ ์ ์ฐจ์ด๋์ปค์ ๊ฐ์ํ ๊ธฐ์ ์ ์ฐจ์ด ๋์ปค๋ ํน์ฑ์ ๊ฐ์ํ ๊ธฐ์ ๊ณผ ๋น๊ต๋๋ ๊ฒฝ์ฐ๊ฐ ๋ง๋ค. ๊ทธ๋ฌ๋ ๋์ปค๋ ์๋ฒ ๊ฐ์ํ์๋ ๋ถ๋ช ํ ์ฐจ์ด๊ฐ ์๋ค. ‘์คํ ํ๊ฒฝ์ ๋ ๋ฆฝ์ ์ผ๋ก ๊ฒฉ๋ฆฌํ ์ปจํ ์ด๋’๋ผ๊ณ ํํํ๋ ๊ฒ์ด ์ ํํ๋ค. ๊ฐ์ํ ๊ธฐ์ VirtualBox๋ VMware ๊ฐ์ ๊ฐ์ํ ๊ธฐ์ ์ ๊ฐ์์ ๋ฌผ๋ฆฌ ์๋ฒ๋ฅผ ๋ง๋๋ ๊ฒ๊ณผ ๊ฐ๋ค. ์ฌ๊ธฐ์ '๊ฐ์’์ด๋ผ๋ ๋ง์ ๋ฌผ๋ฆฌ์ ์ธ ๋์์ ์ํํธ์จ์ด๋ก ๋์ฒดํ๋ค๋ ์๋ฏธ์ด๋ค. ์ฆ, ๋ฉ์ธ๋ณด๋์ CPU, ๋ฉ๋ชจ๋ฆฌ ๋ฑ์ ๋ฌผ๋ฆฌ์ ์ธ ๋ถํ์ ์ํํธ์จ์ด๋ก ๊ตฌํํ ๊ฒ์ด๋ค. ์ค์ง์ ์ผ๋ก ๋ฌผ๋ฆฌ ์๋ฒ์ ๋๋ฑํ ๊ฒ์ด๋ฏ๋ก ๋น์ฐํ ์ด์์ฒด์ ๋ ์๋ฌด ๊ฒ์ด๋ ์ค์นํ ์ ์๊ณ , ๊ทธ ์์์ ์ด๋ค ์ํํธ์จ์ด๋ฅผ ๊ตฌ๋ํด๋ ๋ฌด๋ฐฉํ๋ค. ๋์ปค ์ด์ ๋ฌ๋ฆฌ ๋์ปค๋ ์ปจํ ์ด๋์์ ๋ฆฌ๋ ์ค๊ฐ ๋์ํ๋ ๊ฒ์ฒ๋ผ ๋ณด์ด์ง๋ง, ์ค์ ๋ฆฌ๋ ์ค๊ฐ ๋์ํ๋ ๊ฒ์ ์๋๋ค. ..
1 2023.06.11 -
- [CS ๊ฐ๋ ] ํฉํ ๋ฆฌ ํจํด(Factory Pattern)ํฉํ ๋ฆฌ ํจํด(Factory Pattern) ๊ฐ์ฒด๋ฅผ ์ฌ์ฉํ๋ ์ฝ๋์์ ๊ฐ์ฒด ์์ฑ ๋ถ๋ถ์ ๋ผ์ด๋ด ์ถ์ํํ ํจํด ์์ ๊ด๊ณ์ ์๋ ๋ ํด๋์ค์์ ์์ ํด๋์ค๊ฐ ์ค์ํ ๋ผ๋๋ฅผ ๊ฒฐ์ ํ๊ณ , ํ์ ํด๋์ค์์ ๊ฐ์ฒด ์์ฑ์ ๊ดํ ๊ตฌ์ฒด์ ์ธ ๋ด์ฉ์ ๊ฒฐ์ ํ๋ ํจํด ์์ ํด๋์ค์ ํ์ ํด๋์ค๊ฐ ๋ถ๋ฆฌ๋๊ธฐ ๋๋ฌธ์ ๋์จํ ๊ฒฐํฉ์ ๊ฐ์ง๋ฉฐ, ์์ ํด๋์ค์์๋ ์ธ์คํด์ค ์์ฑ ๋ฐฉ์์ ๋ํด ์ ํ ์ ํ์๊ฐ ์๊ธฐ ๋๋ฌธ์ ๋ ๋ง์ ์ ์ฐ์ฑ์ ๊ฐ๊ฒ ๋๋ค. ๊ฐ์ฒด ์์ฑ ๋ก์ง์ด ๋ฐ๋ก ๋ผ์ด์ ธ ์๊ธฐ ๋๋ฌธ์, ์ฝ๋๋ฅผ ๋ฆฌํฉํ ๋งํ๋๋ผ๋ ํ ๊ณณ๋ง ๊ณ ์น ์ ์๊ฒ ๋๋ ์ ์ง ๋ณด์์ฑ์ด ์ฆ๊ฐ๋๋ค. ์๋ฅผ ๋ค์ด, ๋ผ๋ผ ๋ ์ํผ์ ์๋ฉ๋ฆฌ์นด๋ ธ ๋ ์ํผ, ์ฐ์ ๋ ์ํผ๋ผ๋ ๊ตฌ์ฒด์ ์ธ ๋ด์ฉ์ด ๋ค์ด ์๋ ํ์ ํด๋์ค๊ฐ ์ปจ๋ฒ ์ด์ด ๋ฒจํธ๋ฅผ ํตํด ์ ๋ฌ๋๊ณ , ์์ ํด๋์ค์ธ ๋ฐ๋ฆฌ์คํ ๊ณต์ฅ์์ ์ด ๋ ์..
1 2023.06.11