๋ชฉ๋ก๋ถ๋ฅ ์ ์ฒด๋ณด๊ธฐ (60)
Study Anything ๐ง
์ํ ์์ฑ ํํธ์ ์ฒซ๋ฒ์งธ ๋จ๊ณ์์ ์ฅ๊ณ ๋ชจ๋ธ๋ก ์ํ DB๋ฅผ ๋ง๋ ํ ๊ทธ DB ์์ ์ํ๋ค์ ์นํ์ด์ง์์ ์กฐํํ๋ ๊ธฐ๋ฅ๊น์ง ๊ตฌํํ๋ค. ์ด๋ฒ์ ๊ทธ ๋ค์ ๋จ๊ณ๋ก ์์ฑํ ์ํ์ DB์ ๋ฑ๋กํ๋๋ก ํ๋ ๊ธฐ๋ฅ์ ๊ตฌํํ๋ค. ์นํ์ด์ง์์ ์ํ์ ์ด ํ ๊ทธ ๋ด์ฉ์ ์ํ DB์ ๋ฃ๊ณ ์ ์ฒด ๋ชฉ๋ก์ผ๋ก ์กฐํํ๋ ๊ธฐ๋ฅ์ด๋ค. (1) ์ํ ๋ชฉ๋ก์ ์กฐํํ๋ ํ์ด์ง์ ๊ธ์ฐ๊ธฐ ํ์ด์ง๋ก ์ด๋ํ ์ ์๋ ์์๋ฅผ ์ถ๊ฐํ๋ค. ํ์ผ > templates/review/list.html ... ๊ธ์ฐ๊ธฐ ... (2) urls.py ํ์ผ์ write ํ์ด์ง์ ๊ด๋ จ๋ ๋ด์ฉ์ ์ถ๊ฐํ๋ค. ํ์ผ > review/urls.py urlpatterns = [ ... path('write/', views.write, name='write'), ... ] urls.py..
ํ๋ก์ ํธ ๋ด์ฉ๋ค ์ค์ ์ํ ์์ฑ ํํธ๋ฅผ ์์ํ๋ค. ์ํ ์์ฑ ์์๋ ์ฌ๋ฌ๊ฐ์ง ๊ธฐ๋ฅ๋ค์ด ์๋๋ฐ, ์ด๋ฒ์๋ ์ํ์ ์ ์ฒด ๋ชฉ๋ก์ ์กฐํํ๋ ๊ธฐ๋ฅ์ ์ํํ๋ค. ์ํ์ ์ ์ฅํ DB๋ฅผ ๋ง๋ค๊ณ ๋๋ฏธ ๋ฐ์ดํฐ๋ฅผ ๋ฃ์ ๋ค์, ๊ทธ ๋ด์ฉ๋ค์ ์๋ก์ด ํ์ด์ง์์ ์กฐํํ๋ ๊ณผ์ ์ผ๋ก ์งํํ๋ค. DB๋ฅผ ๋ง๋ค๊ธฐ ์ํด์ ์ฅ๊ณ ์ ๊ธฐ๋ณธ ๊ธฐ๋ฅ์ธ ๋ชจ๋ธ์ ์ด์ฉํ๊ณ ๋ชจ๋ธ ์กฐํ ๊ธฐ๋ฅ์ ์ด์ฉํด ๊ฐ๋จํ๊ฒ ์ํ ๋ชฉ๋ก์ ์กฐํํ๋๋ก ํ๋ค. ๋ค๋ง ์์ง ํ๋ก ํธ์ ์ฐ๊ฒฐํ๋ ๋ฐฉ๋ฒ์ ์ฐพ์ง๋ ๋ชปํด์ ui ์์์ ๋ชฉ๋ก์ด ๋ณด์ด๋ ๊ฒ์ด ์๋๋ผ UI๋ฅผ ์ ์ฉํ์ง ์์ HTML ๊ธฐ๋ณธ UI์ ๋ด์ฉ๋ง ๋ณด์ด๊ณ , ํด๋น ๋ด์ฉ์ ํด๋ฆญํ๋ฉด ์๋ก์ด ํ์ด์ง(์ถํ ์ํ ์์ธํ์ด์ง)๋ก ์ด๋ํ๋ ๊ฒ๊น์ง ์์ฑํ๋ค. ์์ง ๋ถ์กฑํ ์ ์ด ์์ด์ ์ฝ๋๋ฅผ ํ๋ก์ ํธ ์์ ๋จ์ ๋ฐ๋ก ์ฌ๋ฆฌ์ง ์๊ณ ํ ์คํธ ํด๋์ git ..
#HashTable #String ๋ฌธ์์ด paragraph ์ ๋ฌธ์์ด ๋ฆฌ์คํธ banned ๊ฐ ์ฃผ์ด์ก์ ๋, banned ๋ฆฌ์คํธ์ ๋จ์ด๋ฅผ ์ ์ธํ๊ณ ๊ฐ์ฅ ๋ง์ด ๋ฑ์ฅํ ๋จ์ด๋ฅผ ๋ฐํํ๋ค. ์กฐ๊ฑด: banned ๋ฆฌ์คํธ์๋ ์ต์ ํ ๊ฐ์ ๋จ์ด๊ฐ ์๊ณ ์๋ก ๊ฒน์น๋ ๋จ์ด๋ ์๋ค. ๋์๋ฌธ์๋ฅผ ๊ตฌ๋ถํ์ง ์์ผ๋ฏ๋ก ๋ต์ ์๋ฌธ์๋ก ๋ฐํํด์ผ ํ๋ค. Trial 1 : Python3, 22/01/08 class Solution: def mostCommonWord(self, paragraph: str, banned: List[str]) -> str: # paragraph๋ฅผ ์๋ฌธ์๋ก ๋ฐ๊พธ๊ณ ํน์๋ฌธ์๋ฅผ ์ ๊ฑฐํจ pStr = ''.join(c if c.isalnum() else ' ' for c in paragraph.lower()) # pa..
#Array ์ด์ง ๋ฐฐ์ด nums ์ ์ ์ k๊ฐ ์ฃผ์ด์ก์ ๋, ๋ชจ๋ 1์ด ์๋ก k์นธ ์ด์ ๋จ์ด์ ธ ์์ผ๋ฉด true๋ฅผ ๋ฐํํ๊ณ ๊ทธ๋ ์ง ์์ผ๋ฉด false๋ฅผ ๋ฐํํ๋ค. Trial 1 : Python3, 22/01/07 class Solution: def kLengthApart(self, nums: List[int], k: int) -> bool: flag = False # ๋ฐฐ์ด์ด 0์ผ๋ก ์์ํ ๊ฒฝ์ฐ, ๊ฑฐ๋ฆฌ๋ฅผ ๊ณ์ฐํ์ง ์๊ธฐ ์ํ ์ฅ์น d = 0 # ๊ฑฐ๋ฆฌ for n in nums: if n == 0: d += 1 else: if flag: # ์ด์ ์ 1์ด ์์์ ๊ฒฝ์ฐ if d < k: return False d = 0 flag = True return True ํ์ด: 1 ์ฌ์ด์ ๊ฑฐ๋ฆฌ๋ง ๊ณ ๋ คํ๊ธฐ ๋๋ฌธ์ ๋ฐฐ์ด์ด 0์ผ๋ก ..
์ฐธ๊ณ : https://wikidocs.net/73306 (1) ์ฑ ์ฅ๊ณ ์์๋ ๊ธฐ๋ฅ์ ์ํํ๊ธฐ ์ํด '์ฑ'์ด๋ผ๋ ํ์์ ์ฌ์ฉํ๋ค. ํ๋ก์ ํธ์ ์ฑ์ ๋ง๋๋ ๋ช ๋ น์ด๋ ๋ค์๊ณผ ๊ฐ๋ค. (mysite) C:\(์๋ต)\DjangoProj\mysite>django-admin startapp myapp#์ฑ ์ด๋ฆ: myapp ์ฑ์ด ์์ฑ๋์์ผ๋ ํ์ํ ๋ด์ฉ๊ณผ ๊ตฌํํ ๊ธฐ๋ฅ์ IDE์์ ์์ฑํ๊ณ ๊ฐ๋ฐ์๋ฒ๋ฅผ ๊ตฌ๋ํ ๋ค์ ์ฃผ์ ๋ค์ '/myapp' ๋ฅผ ๋ถ์ด๋ฉด ํด๋น ๊ธฐ๋ฅ์ด ๊ตฌํ๋ ์น ํ์ด์ง๊ฐ ๋์์ง๋ค. ํด๋น ํ์ด์ง๊ฐ ์ ๋๋ก ์๋ํ๋ ค๋ฉด 'ํ๋ก์ ํธ/config/urls.py' ์ url ๋งคํ์ ์ถ๊ฐํด์ผ ํ๋ค. (...) urlpatterns = [ (...) path('myapp', ํจ์๋ช ) (...) ] (...) ๋ค์๊ณผ ๊ฐ์ด ๋งคํ์..
์ฐธ๊ณ : https://wikidocs.net/72280 ์ฅ๊ณ ๋ฅผ ์ฒ์ ์ ํ๋ค๋ณด๋ ๊ฐ๋ฐ ํ๊ฒฝ์ด ๋ง๋ จ๋์ด์์ง ์์์ ์๋ฃ๋ฅผ ์ฐธ๊ณ ํ๋ฉฐ ๊ฐ๋ฐ ํ๊ฒฝ์ ๊ตฌ์ถํ๋ค. (1) ๊ฐ์ ํ๊ฒฝ ๊ตฌ์ถ ๊ฐ์ ํ๊ฒฝ์ ๋ง๋๋ ์ด์ ๋ ์ ์๋ฃ์ ์์ธํ ์ค๋ช ๋์ด ์๋ค. ๊ฐ๋จํ๊ฒ ์๊ธฐํ์๋ฉด ์ฌ๋ฌ ํ๋ก์ ํธ๋ฅผ ์ํํ๋ค๊ฐ ํ์ด์ฌ ๋ฒ์ ์ ๋ค๋ฅด๊ฒ ์ฌ์ฉํ๋ ๋ฑ ์ฐจ์ด๋ฅผ ๋ฌ์ผํ ๋๊ฐ ์๋๋ฐ ๊ฐ์ ํ๊ฒฝ์์ ํ๋ก์ ํธ๋ฅผ ์งํํ๋ฉด ์ด๋ฐ ๊ฒฝ์ฐ์ ๊ฐ ํ๊ฒฝ ๋ณ๋ก ๋์ฒํ๊ธฐ๊ฐ ์ฝ๋ค. ๋ณธ์ธ์ mysite ๋ผ๋ ์ด๋ฆ์ผ๋ก ๊ฐ์ ํ๊ฒฝ์ ๋ง๋ค์ด๋ณด์๋ค. C:\venvs\mysite\Scripts> activate cmd ์์์ ์ํ๋ ํด๋๋ก ์ด๋ํ ํ, activate ๋ช ๋ น์ด๋ฅผ ์ ๋ ฅํ๋ฉด ๊ฐ์ ํ๊ฒฝ์ผ๋ก ์ด๋ํ๋ค. (mysite) C:\venvs\mysite\Scripts> deact..
#Array #Hash Table #Graph ๋ง์์๋ n๋ช ์ ์ฌ๋์ด ์๊ณ ํ ๋ช ์ ๋ง์ํ์ฌ๋ฅผ ์ฐพ์๋ผ. ์กฐ๊ฑด: ๋ง์ ํ์ฌ๋ ์๋ฌด๋ ์ ๋ขฐํ์ง(trust) ์๋๋ค. ๋ง์ ํ์ฌ๋ฅผ ์ ์ธํ ๋ชจ๋ ์ฌ๋์ด ๋ง์ ํ์ฌ๋ฅผ ์ ๋ขฐํ๋ค. ์ ๋ ์กฐ๊ฑด์ ๋ง์กฑํ๋ ์ฌ๋์ด ๋ฑ ํ ๋ช ์๋ค. ai๋ก ๋ถ๋ฅ๋ ์ฌ๋์ด bi๋ก ๋ถ๋ฅ๋ ์ฌ๋์ ์ ๋ขฐํ๋ค๋ ๊ฒ์ ๋ํ๋ด๋ trust[i] = [ai, bi] ๋ฐฐ์ด์ด ์ฃผ์ด์ง๋ค. ๋ง์ ํ์ฌ๊ฐ ์กด์ฌํ๋ ๊ฒฝ์ฐ ๋ง์ ํ์ฌ์ ๋ ์ด๋ธ์ ๋ฐํํ๊ณ ๊ทธ๋ ์ง ์์ ๊ฒฝ์ฐ -1์ ๋ฐํํ๋ค. Trial 1 : Python3, 22/1/3 class Solution: def findJudge(self, n: int, trust: List[List[int]]) -> int: person = [0]*(n+1) # ๋ฐฐ์ด ํฌ๊ธฐ๋ฅผ ..
์ง๋ ์ฃผ์ ์ฒ์ ์๊ธฐ๊ฐ ๋์จ ์ดํ ์ค๋๋ถํฐ '๊ณ ์์ด์ ์ฑ ์' ํ๋ก์ ํธ์ ์ฐธ์ฌํ๊ฒ ๋์๋ค. ๋๋ต์ ์ธ ํ๋ก์ ํธ ๊ฐ์๋ ์ฑ ์ ์ํ ์์ฑ์ ์ ๊ณตํ๋ ์น์ฌ์ดํธ ์ ์์ผ๋ก, ์ด ํ๋ก์ ํธ์์ ๋ฐฑ์๋ ๊ฐ๋ฐ์๋ก ์ฐธ์ฌํ๊ฒ ๋์๋ค. ์ธ์ด๋ ์ฅ๊ณ (Django)๋ฅผ ์ฌ์ฉํ ์์ . ์ฅ๊ณ ๋ก๋ ์ฒ์ ๊ฐ๋ฐ์ ํด๋ณด๋ ๊ฒ์ด๋ผ ์์ผ๋ก ๋ง์ ๊ณต๋ถ๊ฐ ํ์ํ ๊ฒ ๊ฐ๋ค. ์ค๊ฐ๋ถํฐ ์ฐธ์ฌํ๊ฒ ๋ ๊ฒ์ด๋ผ ์ผ๋จ ๋ฉฐ์น ๊ฐ์ ๊ณต๋ถ์ ํ๋ก์ ํธ ํ์ ์ ํ์ฐ๊ณ ๊ทธ ๋ค์์ผ๋ก๋ ์ํ ์์ฑ ๊ธฐ๋ฅ๋ถํฐ ๊ฐ๋ฐ์ ์์ํ ์์ ์ด๋ค. ์ค๋์ ํ์์ ์ฒ์ ์ฐธ์ํ๊ณ ๊ฐ๋จํ ์ธ์ฌ์ ์์ผ๋ก์ ์ผ์ ์ ๊ณต์ ํ๋ค. ํ๋ก์ ํธ ์นดํ ๊ณ ๋ฆฌ์๋ ํ๋ก์ ํธ ์ผ์ง์ฒ๋ผ ๋จ๊ธฐ๊ณ ๋ฆฌ๋ทฐํ ๋ง ํ ๊ธฐ๋ฅ๋ค์ ๋ฐ๋ก ๊ธ์ ์์ฑํ ํ์ ๋งํฌํ๋ ์์ผ๋ก ์ด์ ์์ ์ด๋ค.
CNN ์ด๋? ํฉ์ฑ๊ณฑ ์ ๊ฒฝ๋ง(Convolutional Neural Network, CNN)์ ์๊ฐ์ ์ด๋ฏธ์ง๋ฅผ ๋ถ์ํ๋ ๋ฐ ์ฌ์ฉ๋๋ ๊น๊ณ ํผ๋-ํฌ์๋์ ์ธ ์ธ๊ณต์ ๊ฒฝ๋ง์ ํ ์ข ๋ฅ์ด๋ค. ์ด๋ฏธ์ง ๋ฐ ๋น๋์ค ์ธ์, ์ถ์ฒ ์์คํ , ์ด๋ฏธ์ง ๋ถ๋ฅ, ์๋ฃ ์ด๋ฏธ์ง ๋ถ์ ๋ฐ ์์ฐ์ด ์ฒ๋ฆฌ์ ์์ฉ๋์ด ์ฌ์ฉ๋๋ค. CNN์ ์ ๊ทํ ๋ฐฉ๋ฒ์ ์ผ๋ฐ์ ์ธ ๋ฐฉ๋ฒ๊ณผ ์กฐ๊ธ ๋ค๋ฅธ๋ฐ, ์ผ๋ฐ์ ์ธ ์ ๊ทํ ๋ฐฉ๋ฒ์ ์์ค ํจ์์ ๊ฐ์ค์น ์ธก์ ์ ์ถ๊ฐํ์ง๋ง CNN์ ๋ฐ์ดํฐ์์ ๊ณ์ธต์ ํจํด์ ํ์ฉํ๊ณ ์๊ณ ๊ฐ๋จํ ํจํด์ ์ฌ์ฉํด ๋ณต์กํ ํจํด์ ์กฐ๋ฆฝํ๋ค. ์ด๋ฐ ํน์ง ๋๋ฌธ์ ์ผ๋ฐ์ ์ธ ๊ฒฝ์ฐ์๋ ์ด๋ฏธ์ง ์ธ์ ์์ ์ฌ์ฉํ๋ ์ด๋ฏธ์ง์ ํด์๋๊ฐ ๋์์ง๋ฉด ์ ๋ ฅ๊ฐ๊ณผ ๊ฐ์ค์น์ ์๊ฐ ์ปค์ง๊ธฐ ๋๋ฌธ์ ์ฐ๊ฒฐ์ฑ๊ณผ ๋ณต์ก์ฑ์ด ์ฆ๊ฐํ์ง๋ง, CNN์ ์ฐ๊ฒฐ์ฑ๊ณผ ๋ณต์ก์ฑ์ด ํจ์ฌ ๋ฎ๋ค. CNN์ ๊ตฌ์กฐ๋ ์..
ํผ์ ํธ๋ก ์ด๋ ๋๋ฌผ์ ์ ๊ฒฝ๊ณ ์์คํ ์ ๋น์ทํ๊ฒ ํ๋ด ๋ด์ด ์ค๊ณํ ์๊ณ ๋ฆฌ์ฆ์ด๋ค. ์ ๋ ฅ๊ฐ(Input)๊ณผ ๊ฐ์ค์น(Weight)์ ๊ณฑ์ ๋ชจ๋ ๋ํ ๋ค ํ์ฑ ํจ์๋ฅผ ํตํด ์ต์ข ์ถ๋ ฅ(Output)์ ์ ํ๋ค. ๋ค์์ ์ ํธ๋ฅผ ์ ๋ ฅ๋ฐ์ ํ๋์ ์ ํธ๋ฅผ ์ถ๋ ฅํ๋ค. (๋ค์ค์ ๋ ฅ ๋จ์ผ ์ถ๋ ฅ ํํ) ์ฌ๊ธฐ์ x1~xi ๋ ์ ๋ ฅ๊ฐ, w1~wi ๋ ๊ฐ์ค์น, ํผ์ ํธ๋ก ์ ๋์ ๊ฒฝํฅ์ฑ์ธ x0์ ๊ทธ ๊ฐ์ค์น์ธ w0 ์ด ์๊ณ ์ ํธ์ ์ ๋ฌ ์ฌ๋ถ๋ฅผ ๊ฒฐ์ ํ๋ ํ์ฑํจ์๊ฐ ์๋ค. ๋๋ฌผ์ ์ ๊ฒฝ๊ณ์์ ์ญ์น ์ด์์ด ๋์ด์ผ ์ ๊ฒฝ์ ํธ๊ฐ ์ ๋ฌ๋๋ ๊ฒ์ฒ๋ผ, ํผ์ ํธ๋ก ๊ตฌ์กฐ์์๋ (์ ๋ ฅ๊ฐ x ๊ฐ์ค์น) ์ ํฉ๋ค์ด ํ์ฑ ํจ์๋ฅผ ๊ฑฐ์ณ์ ๋์จ ์ถ๋ ฅ ๊ฐ์ ๋ฐ๋ผ ์ ํธ ์ ๋ฌ ์ฌ๋ถ๊ฐ ๊ฒฐ์ ๋๋ค. ๋ํ ํผ์ ํธ๋ก ์ ์ ํ๋ฐฉ์ ์์ผ๋ก ํํ์ด ๊ฐ๋ฅํ๋ค. ์ฆ, ์ ํ ๋ถ๋ฅ๊ธฐ์ด๋ค. ๋ฐ๋ผ์ ํผ์ ํธ๋ก ์ ์ด์ฉ..