๐์ฝ๋ฉํ
์คํธ:CodingTest
์๊ฐ๋ณต์ก๋ = ์๊ณ ๋ฆฌ์ฆ์ ์์(resource) ์ฌ์ฉ๋์ ๋ถ์ ์์์ด๋ ์คํ์๊ฐ, ๋ฉ๋ชจ๋ฆฌ, ์ ์ฅ์ฅ์น, ํต์ ๋ฑ์ ๋งํ๋ ๊ฒ ์ธ๋ฐ ๊ทธ ์ค์์ ์คํ์๊ฐ์ ๋ํด์ ํํ ๋ฉ๋ชจ๋ฆฌ : ๊ฐ๊ฒฉ๋๋น ๋ฉ๋ชจ๋ฆฌ ์ฉ๋์ด ํฌ๊ฒ ์ฆ๊ฐํ์ฌ ์๋์ ์ธ ์ค์์ฑ์ด ๊ฐ์๋์๋ค. ์คํ์๊ฐ์ ํ๋์จ์ด, ์ด์์ฒด์ , ์ธ์ด, ์ปดํ์ผ๋ฌ ๋ฑ์ ๋ฐ๋ผ์ ๋ฌ๋ผ์ง๊ฒ ๋๋ฏ๋ก ์คํ์๊ฐ์ ์ธก์ ํ๋ ๋์ ์ฐ์ฐ์ ์คํ ํ์๋ฅผ ์ธก์ ํด์ผ ํ๋ค. ์ฐ์ฐ์ ์คํ ํ์ ์
๋ ฅ ๋ฐ์ดํฐ์ ํฌ๊ธฐ(n)์ ๊ดํ ํจ์๋ก ํํํ๊ฒ ๋๋ค. ๋ฐ์ดํฐ์ ํฌ๊ธฐ๊ฐ ๊ฐ๋๋ผ๋ ์ค์ ๋ฐ์ดํฐ์ ๋ฐ๋ผ์ ๋ฌ๋ผ์ง๋ค. (n๊ฐ์ ๋ฐ์ดํฐ์์ ๊ฒ์์ ํ ๋, ์ด์ด ์ข์ผ๋ฉด ๋ฐ๋ก ์ฐพ์ ์๋ ์๊ณ , ์ด์ด ๋์๋ฉด n๊ฐ์ ๋ฐ์ดํฐ๋ฅผ ๋ชจ๋ ๊ฒ์ํด์ ์ฐพ์์ผ ํ ์๋ ์๋ค.) ์ต์
์ ๊ฒฝ์ฐ ์๊ฐ๋ณต์ก๋ ํ๊ท ์๊ฐ๋ณต์ก๋ (ํ๊ท ์๊ฐ๋ณต์ก๋ ๋ถ์์ด..
๐์ฝ๋ฉํ
์คํธ:CodingTest
๋ฏธ๋ก์ฐพ๊ธฐ ๊ทธ๋ฆผ๊ณผ ๊ฐ์ด wall ๊ณผ pathway๋ก ๊ตฌ์ฑ๋ ๋ฏธ๋ก๋ฅผ ํ์ถํ๋ ์ฝ๋๋ฅผ recursion์ผ๋ก ๊ตฌํํ ์ ์๋ค. recursiveํ๊ฒ ์๊ฐ์ ํด์ผํ๋ค. ํ์ฌ ์์น์์ ์ถ๊ตฌ๊น์ง ๊ฐ๋ ๊ฒฝ๋ก๊ฐ ์์ผ๋ ค๋ฉด ํ์ฌ ์์น๊ฐ ์ถ๊ตฌ๊ฑฐ๋ ์ด์ํ ์
๋ค ์ค ํ๋์์ ์ถ๊ตฌ๊น์ง ๊ฐ๋ ๊ฒฝ๋ก๊ฐ ์๊ฑฐ๋ ๊ฐ๋จํ๊ฒ ์๊ฐํด๋ณด๋ฉด ๋ค์๊ณผ ๊ฐ์ด ๊ตฌํํ ์ ์๋ค. boolean findPath(x,y) if (x,y) is the exit return true; else for each neighbouring cell (x',y') of (x,y) do if (x',y') is a pathway cell if findPath(x',y') return true return false; (x,y)์์ ์ถ๊ตฌ๊น์ง ๊ฒฝ๋ก๊ฐ ์์ผ๋ฉด true, ์์ผ๋ฉด f..
๐์ฝ๋ฉํ
์คํธ:CodingTest
์ํ์ ์ํํจ์ ๊ณ์ฐ์๋ง ์ ์ฉํ๊ฐ? ํฉํ ๋ฆฌ์ผ, ํผ๋ณด๋์น ์์ด, ์ต๋๊ณต์ฝ์์ ๊ฐ์ ์ํํจ์ ๋ฟ๋ง ์๋๋ผ, ๋ค๋ฅธ ๋ง์ ๋ฌธ์ ๋ค์ recursion์ผ๋ก ํด๊ฒฐํ ์ ์๋ค. ๋ฌธ์์ด ๋ค์ง๊ธฐ def f(s): if len(s)==0: return else: f(s[1:]) print(s[0],end='') s=input() f(s) abcdef fedcba Base Case : ๋ฌธ์์ด์ ๊ธธ์ด๊ฐ 0์ด๋ฉด ์ถ๋ ฅ์ ํ์ง ์๊ณ return ์ฌ๊ท์ ์ผ๋ก ์ดํด๋ฅผ ํด์ผํ๋ค. ์ฒซ ๋ฒ์งธ ๋ฌธ์๋ฅผ ์ ์ธํ ๋ฌธ์์ด์ ๋ค์ง์ด์ ์ถ๋ ฅํ๊ณ , ๊ทธ ๋ค์ ์ ์ธํ ์ฒซ ๋ฒ์งธ ๋ฌธ์๋ฅผ ์ถ๋ ฅํ๋ค. ์ด๋ ๊ฒ ํ๋ฉด ๋ฌธ์์ด์ด ๋ค์ง์ด์ ์ถ๋ ฅ๋๋ค. 2์ง์๋ก ๋ณํํ์ฌ ์ถ๋ ฅํ๊ธฐ def fun(n): if nend: return False elif lst[begin]==targe..
๐์ธ์ด:Language
ํ์ด์ฌ ํ์ด์ฌ์ ๋ฌธ๋ฒ, ํจ์, ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ฌ์ฉ๋ฒ ๋ฑ์ ๋ํด์ ๊ณต๋ถํ ๋ด์ฉ์ ์ ๋ฆฌํ๊ณ ์์ต๋๋ค. (์์ฑ์ค) โ
del ์์ฝ์ด vs remove() del์ ํจ์๊ฐ ์๋๋ผ ์์ฝ์ด์ด๋ค. del ์์ฝ์ด >>> a=[1,2,3] >>> del a[1] >>> a [1,3]์ฌ๋ฌ๊ฐ์ ์์๋ฅผ ์ญ์ ํ ์๋ ์๋ค. >>> str_list = ['๊ฐ','๋','๋ค','๋ผ','๋ง'] >>> del str_list[3:] ['๊ฐ','๋','๋ค']์ฌ์ ์๋ฃํ์์๋ ์ฌ์ฉํ ์ ์๋ค. >>> d={'one':'ํ๋', 'two':'๋'} >>> del d['o..
๐ํ๋ก์ ํธ:Project
ํผ์ค๋์ปฌ๋ฌ ์ง๋จ ์น์ฌ์ดํธ ์ ์๋๊ธฐ ์ต๊ทผ ํผ์ค๋ ์ปฌ๋ฌ์ ๋ํ ๋์ ๊ด์ฌ๋์ ํผ์ค๋ ์ปฌ๋ฌ ์ง๋จ ์๋น์ค ์์ฅ์ ํญ๋ฐ์ ์ธ ์ฑ์ฅ ์ฌ๋ ฅ์ ๋ฐํ์ผ๋ก ์ฃผ์ ๋ฅผ ์ ์ ํ์๊ณ , ํ๋ก์ ํธ๋ฅผ ์งํํ์์ต๋๋ค. ํ๋ก ํธ์๋(React)๋ก ํ๋ก์ ํธ์ ์ฐธ์ฌํ์ผ๋ฉฐ ๋ก๊ทธ์ธ, ๋ก๊ทธ์์, ํ์๊ฐ์
, ๊ฒ์ํ ๊ตฌํ์ ๋งก์์ต๋๋ค. ๊ตฌํ๊ธฐ๋ฅ ๋ก๊ทธ์ธ, ๋ก๊ทธ์์, ํ์๊ฐ์
(jwt๋ฅผ ์ฌ์ฉํ ํ์์ธ์ฆ) ๊ฒ์ํ CRUD, ๋๊ธ๊ณผ ๋๋๊ธ CRUD 1. ๋ก๊ทธ์ธ, ๋ก๊ทธ์์, ํ์๊ฐ์
(jwt๋ฅผ ์ฌ์ฉํ ํ์์ธ์ฆ) 1-1. ํ์๊ฐ์
function SignUp() { ... return ( ... { if (res.status == 200) { // ๊ฐ์
์ฑ๊ณต alert(res.data.message); navigate('/signin') } else { // ๊ฐ์
..
๐ํ๋ก์ ํธ:Project
์ ์๋๊ธฐ ์ฒญ๊ฐ์ฅ์ ์ธ์ ์ํ ์ธ๊ณต์ง๋ฅ ์ธ๊ณต์ง๋ฅ ๊ธฐ์ ์ด ๊ธ์๋๋ก ๋ฐ์ ํ๊ณ ์๋ ํ์ฌ, ์ด๋ฅผ ํ์ฉํ์ฌ ์ผ์์ํ์ ๋ถํธ์ ๋๋ผ๋ ์ฅ์ ์ธ ๋ถ๋ค์ ์ํ ์ ํ์ ๋ง๋ค์ด ๋ณด๊ณ ์ถ์๋ค. ๊ทธ ์ค ์ฒญ๊ฐ์ฅ์ ์ธ์ ์ํ ์ํ์ธ์ ํ๋ก๊ทธ๋จ์ ๋ง๋ค๋ฉด ์ข๊ฒ ๋ค๊ณ ์๊ฐํ๊ฒ ๋์๋ค. MediaPipe ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ฌ์ฉํ์ฌ ์์ joint๋ฅผ ๊ฒ์ถํ๋ค. ๊ทธ ์ถ๋ ฅ ๊ฒฐ๊ณผ๋ฅผ ๋จ์ผ ๋์์ผ๋ก ๋ถ๋ฅ ํ ์ ์๋ KNN(K-Nearest Neighbor)๊ณผ ์ฐ์ ๋์์ ๋ถ๋ฅ ํ ์ ์๋ RNN(Recurrent Neural Network)์ ์
๋ ฅ์ผ๋ก ํ์ตํ์ฌ ์งํ๋ฅผ ์ค์๊ฐ์ผ๋ก ์ธ์ํ๊ณ ์ถ๋ ฅํ๋ค. ์ด๋ก ์ ๋ฐฐ๊ฒฝ MediaPipe MediaPipe๋ ๊ตฌ๊ธ์์ ์ ๊ณตํ๋ AI ํ๋ ์์ํฌ๋ก์จ, ๋น๋์ค ํ์ ๋ฐ์ดํฐ๋ฅผ ์ด์ฉํ ๋ค์ํ ๋น์ AI๊ธฐ๋ฅ์ ํ์ดํ๋ผ์ธ ํํ๋ก ์..
๐ํ๋ก ํธ์๋:FrontEnd
React React์ ๋ํด์ ๊ณต๋ถํ ๋ด์ฉ์ ์ ๋ฆฌํ๊ณ ์์ต๋๋ค. โ
let vs var letํค์๋๋ varํค์๋์ ๋ค๋ฅด๊ฒ ์ค๋ณต์ ์ธ์ ํ์ฉํ์ง ์๋๋ค โ
jsx react์์๋ js๋์ jsx๋ผ๋ ๊ฒ์ ์ด๋ค. jsx๋ return๋ฌธ ์์์ ์ฌ์ฉํ๋ค. jsx์์์ js ํํ์์ ์์ฑํ๋ ค๋ฉด {}๋ฅผ ์ฌ์ฉํ๋ฉด ๋๋ค. ์ด๋ {}์์์๋ if๋ฌธ๊ณผ for๋ฌธ์ ์ฌ์ฉํ ์ ์๋ค. ( ๋ฐ์ดํฐ ๋ฐ์ธ๋ฉ ์ค๊ดํธ๋ฅผ ์ฌ์ฉํ์ฌ ๋ฐ์ดํฐ ๋ฐ์ธ๋ฉ href, id, className, src๋ฑ ์ฌ๋ฌ html ์์ฑ๋ค์๋ ๊ฐ๋ฅ function App() { let data='red' return ( {red} ); } style์์ฑ ๊ธ์จ {์์ฑ๋ช
:'์์ฑ๊ฐ'} ์ฆ ๊ฐ์ฒด ํํ๋ก style์ ์ค ์์ฑ๋ช
์ '-'(๋์ฌ)๊ธฐํธ๋ฅผ ์ฌ์ฉํ ์ ์๋ค. ์นด๋ฉ ..