CodeSquad๐นDay 64
Morning Algo & Algorithm
๋ชฉ์์ผ 9์, ์ด๊น์์ด ๊ฒ๋ํ์ด์ ๋ชจ์ฌ ์คํฐ๋๋ฅผ ์งํํ๋ค. ์ํ ํ๋๋ฅผ ์ ์ธํ๊ณ ๋๋, ํธ์ด์ ๋ชจ์๋ค.
์ค๋์ Greedy Algorithm์ ์ ์ฉํด์ ํ์ด์ผ ํ๋ 2๋ฌธ์ ์ ๋ํด์ ์ด์ผ๊ธฐ๋ฅผ ํ๋ค. ํ๋ก๊ทธ๋๋จธ์ค ๋ ๋ฒจ 2์ ํฐ ์ ๋ง๋ค๊ธฐ, ์กฐ์ด์คํฑ ๋ฌธ์ ์ด๋ค. ํฐ ์ ๋ง๋ค๊ธฐ ๋ฌธ์ ๋ ๋ค๋ฅธ ์ฌ๋์ด ํผ ํ์ด๋ฅผ ์ฐธ๊ณ ํด์ ํด๊ฒฐํ๋ ๊ณผ์ ์ ์ค๋ช ํ๊ณ , ์กฐ์ด์คํฑ ๋ฌธ์ ๋ ๊ฒฐ๊ตญ ์์ ๋์ง ๋ชปํด์ ํธ์ด์ ์ค๋ช ์ ์ด์ฌํ ๋ค์๋ค. ์๊ฐ์ ๋ด์ ์ค์ค๋ก ํ์ด๋ด์ผ ํ๋ค.
์ค๋ ์ง์ ๋ ๋ฌธ์ ๋ ๋ฐ๋ก ๊ดํธ ๋ณํ์ด๋ผ๋ ๋ฌธ์ ์๋๋ฐ ๋์๊ฒ ๋๋ฌด ์ด๋ ค์ ๋ค. ์ผ๋จ ์ ์ฒด์ ์ธ ๊ทธ๋ฆผ์ ๊ทธ๋ฆฌ๋ ๊ฒ ์ด๋ ค์์ ๋จํธ์ ์ผ๋ก ๊ตฌํํด ๋๊ฐ๋ฉด์ ์ ์ ํ์ฅํด ๋๊ฐ๋ณผ๊น ํ๋ค. ์์ ์ LeetCode์์ ๊ดํธ ๋ฌธ์ ๋ฅผ ํผ ์ ์์ด์ ๊ทธ ๋ stack์ผ๋ก ํผ ๊ฒ๋ ์ ์ฉํด ๋ณด๋ ค๊ณ ํ๋ค. ํ์ง๋ง ์ค๋ ๊ฒฐ๊ตญ ํ์ง ๋ชปํด์ ๋ด์ผ๋ก ๋ฏธ๋ค์ง๊ฒ ๋์๋ค.
Team Project
ํธ์ด์ ์ค์ 10์ 15๋ถ์ ์ค์์ ๋ง๋ ํ๋ก์ ํธ๋ฅผ ์์ํ๋ค. ๋์ ๊ฑฐ์ ์คํ 7์์ ๋ฌ๋ค. ์ ์ฌ์๊ฐ์ ์ ์ธํ๊ณ ๊ฑฐ์ 7์๊ฐ์ ์ด์ผ๊ธฐํ ์ ์ด๋ค. ์ด๋ฒ์๋ ๋ถ์ ๋ณด๋ค๋ ํ์ด ํ๋ก๊ทธ๋๋ฐ์ฒ๋ผ ์งํ์ ํ๊ธฐ ๋๋ฌธ์ด๋ค.
์ค์ ์๋ ๋ด๊ฐ ํค๋ณด๋๋ฅผ ์ก์๋ค. webpack.config.js ํ์ผ์ ์์ ํ๋๋ฐ sass-loader ๋ชจ๋์ ์ค์นํด์ module์ rules๋ฅผ ๋ณ๊ฒฝํด์ฃผ์๋ค. package.json์ script ๋ถ๋ถ๋ npm run build๋ง ์ ๋ ฅํ๋ฉด ์นํฉ์ผ๋ก ๋น๋๊ฐ ๋ ์ ์๋๋ก watch ์ต์ ์ ์ฃผ์๋ค.
์ ์ฌ์๊ฐ์๋ ๋น๋๊ธฐ๋ก ๋ฐ์ดํฐ๋ฅผ ๋ฐ์์ todo list๋ฅผ ๊ทธ๋ ค์ค ์ ์๋๋ก ๊ธฐ๋ฐ ์์ ์ ์ข ํด ๋ณด์๋ค. json-server๋ฅผ ์ค์นํด ๊ฐ๋จํ๊ฒ server๋ฅผ ๋ง๋ค๊ณ json ํ์์ผ๋ก ๋ mock data๋ฅผ ๋ง๋ค์ด์ฃผ์๋ค. ๊ทธ๋ฆฌ๊ณ ๊ตฌ์ฒญ์ ๊ฐ ์ผ์ด ์์ด์ ๋น ๋ฅด๊ฒ ๋ค๋ ์๋ค. json-server๋ฅผ ์ค๋๋ง์ ์จ์ ๋ฐ๊ฐ์ด ๋๋์ด ๋ค์๋ค.
์ ๊ธ์์ ๋งค์ฐ ์น์ ํ๊ณ ์์ธํ๊ฒ ์ค๋ช ํ๊ณ ์๋ค. redux์ ํ ๋ถ๋ถ์ธ๋ฐ ๋์ค์ redux๋ ๊ณต๋ถํด์ผ์ง.
์คํ ์๊ฐ๋ถํฐ๋ ํธ์ด๊ฐ ํค๋ณด๋๋ฅผ ์ก๊ณ JS ๋ก์ง์ ์ง ๋๊ฐ๊ธฐ ์์ํ๋ค. ์ง์ ์ ์ด ๋๋ index.js ํ์ผ์ ์ข ๊ฐ๋ณ๊ฒ ๋ง๋ค๊ณ , ์ปฌ๋ผ์ + ๋ฒํผ์ ๋๋ ์ ๋ ์นด๋๊ฐ ์ถ๊ฐ๋๊ฒ ํ๋ ์ด๋ฒคํธ ๋ก์ง์ ์์ฑํ๋ค. ๋ ์นด๋ ์์ ๋ด์ฉ์ ์ ๋ ฅํ ๋ ์นด๋๊ฐ ์์ฐ์ค๋ฝ๊ฒ ๋์ด๋ ์ ์๋๋ก ๋ฆฌ์ฌ์ด์ง์ ํ ์ ์๋ ๋ก์ง๋ ๊ตฌ๊ธ๋ง์ผ๋ก ์์๋ด์ ์ถ๊ฐํ๋ค.
์ปค๋ฐ์ ํ๋ ๋ฐ ์๊ฐ์ด ์ข ์ค๋ ๊ฑธ๋ ธ๋ค. ์ปค๋ฐ์ ๋จ์๋ฅผ ์ด๋ป๊ฒ ํ ๊ฒ์ธ๊ฐ, ์ปค๋ฐ ๋ฉ์์ง๋ ์ด๋ป๊ฒ ํ๋ ๊ฒ ์ข์๊ฐ์ ๋ํ ์๊ฒฌ์ ์กฐ์จํ๋ ๊ฒ์ด ์ด๋ ค์ ๋ค. ์ ๋ต์ด ์์ ํ ์ ํด์ง ๋ฌธ์ ๊ฐ ์๋๊ฒ ์ง๋ง, ๋ ๋์ ์ด์์ ์ธ ์ปค๋ฐ์ด ๋๋ ค๋ฉด ์ด๋ป๊ฒ ํด์ผ ํ ์ง์ ๋ํด ๊ฒฝํ์ ๋ ์๊ณ ์ถ์๋ค. ๋๋ง์ ๊ธฐ์ค์ด๋ผ๋ ๊ฐ ํน์ ํ์์ ์ด์์ ์ผ๋ก ์ ํด๋ ๊ธฐ์ค์ด ํ๊ณ ํ๊ฒ ์๋ค๋ฉด ์ปค๋ฐ์ ์๊ฐ์ ๋ง์ด ์์ง ์์๋ ๋ ๊ฒ ๊ฐ๋ค.
Discussion
์ ๊ท์๊ฐ ์ดํ, ์ง๋ฏธ๊ฐ ์ฌ๋ DM์ผ๋ก ์ง๋ฌธ์ ์์ฒญํด์์ ๊ฒ๋์ ์ ์ํ๋ค. ๋ง์นจ ์ด๋์ด ๋๋๊ณ ์ฌ๊ณ ์๋ ์ฐธ์ด์๊ณ ๋ฐ๋ก ๋ค์ด๊ฐ ์ ์์๋ค. ๋ด๊ฐ ์์ ์ ์ฟ ํก ํด๋ก ํ๋ก์ ํธ๋ฅผ ์งํํ์ ๋, state๋ฅผ ์ ํ์ฉํ๋ ๊ฒ์ ๋ณด๊ณ ์ง๋ฌธ์ ํ ๊ฒ์ด์๋ค. ๋๋น & ์ง๋ฏธ ํ์ MVC ํจํด์ ํ์ฉํ์ฌ ๊ตฌํ ์ค์ด์๊ณ ๊ฑฐ๊ธฐ์ state๋ฅผ ๊ตฌํํด Todo List์์ ์๋ก์ด ์นด๋๋ฅผ ์์ฑํ ๋, ์์ฑ ์ฌ๋ถ๋ฅผ true/false๋ก state๋ฅผ ๊ฐ์ง๊ณ ์์๋ค. ๋ด๊ฐ ๊ณผ๊ฑฐ์ ๋ถ๋ฆฌ์ธ์ ํ์ฉํ ๋ฐฉ์๊ณผ ์ด๋ ๊ฒ ์๋ํด ๋ณธ ๊ฒ์ด ์ข๋ค๊ณ ์ ํด๋๋ ธ๊ณ , ๋ ๋ถ๋ ๋์ ์๊ฒฌ์ ๋ค์ ์ ์์ด์ ๋์์ด ๋์๋ค๊ณ ํ๋ค. ์ค์ง์ ์ผ๋ก ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋ ๋์์ด ์๋๋๋ผ๋ ์ด๋ ๊ฒ ๋์ ๊ณผ๊ฑฐ ๊ฒฝํ์ผ๋ก ์ถ์ ๋ ์๊ฒฌ์ ๋๋์ผ๋ก์จ ๋ค๋ฅธ ์ฌ๋๋ค์๊ฒ ๋์์ด ๋๋ ๊ฒฝํ์ ํด์ ์ข์๋ค.
ํ ํ๋ก์ ํธ๋ฅผ ๊ตฌํํ๋ ๊ณผ์ ์์๋ ๋ง์ด ๋ฐฐ์ฐ์ง๋ง ์๋ก ํ์ ํ๋ฉด์ ์ํตํ๊ณ ์๊ฒฌ์ ์กฐ์จํด ๋๊ฐ๋ ๊ณผ์ ์์๋ ์ ๋ง ๋ง์ด ๋ฐฐ์ฐ๊ณ ์๋ค. ์ค๋ ํธ์ด์ ๋ฐค ๋ฆ๊ฒ๊น์ง ์ด์ผ๊ธฐํ๋ฉด์ ๋๊ผ๋ค. ํผ์์ ํ๋ก์ ํธ๋ฅผ ํ๋ค๋ฉด ๋๋ ์ ์๋ ๊ฒ๋ค์ ๋ง์ด ๋๋ผ๊ณ ๋ฐฐ์ฐ๊ณ ์๋ค. ๋ค์ด๋๋ฏนํ๊ณ ํญ์ ์ํํ ์ ์์ง๋ง ๊ทธ ๊ณผ์ ์์ ๋ ์ฑ์ฅํด ๋๊ฐ๋ค๊ณ ๋ฏฟ๋๋ค. ์์ผ๋ก์ ํ๋ก์ ํธ ์งํ์ด ๋ ๊ธฐ๋๊ฐ ๋๋ค.
์ค๋์ ๋ฆ๊ฒ๊น์ง ๊ฒ๋ํ์ด์ ์ฌ๋๋ค์ด 17๋ช ์ด๋ ๋จ์์์๋ค. ์๋ฒฝ์ด์ง๋ง ์ด๋ค ํ ๋ก ์ ํ๊ณ ์๋ ํ๋ ๋ณด์๋ค. ๊ทธ๋ค์ ์ด์ ์ ๋๋ ์ํฅ์ ๋ฐ๊ณ ์๋ค!
'What I learned > CodeSquad Log' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
CodeSquad Day 66 : Team Project Week 2 (0) | 2022.04.12 |
---|---|
CodeSquad Day 65 : Team Project Week 1 (0) | 2022.04.09 |
CodeSquad Day 63 : Team Project Week 1 (0) | 2022.04.07 |
CodeSquad Day 62 : Team Project Week 1 (0) | 2022.04.06 |
CodeSquad Day 61 : Team Project Week 1 (0) | 2022.04.05 |