CodeSquad๐นDay 59
Morning Algo & Algorithm
์ค๋ ์์นจ์ ์๊ณ ๋ฆฌ์ฆ ์คํฐ๋๊ฐ ์์๋ค. ์ด์ ์๋ฒฝ์ ์๋ํ๋ ๋ ๋ฌธ์ ๋ฅผ ๊ฐ์ง๊ณ ์ด์ผ๊ธฐ๋ฅผ ๋๋ด๋ค.
๊ทธ๋ฆฌ๊ณ ์ค๋ ๋ฐค์ LeetCode์ Valid Parentheses ๋ฌธ์ ๋ฅผ Map์ ์ฌ์ฉํด์ ๋ค์ ํ์ด๋ณด์๋ค. Map ์ฌ์ฉ์ ์ต์ํ์ง ์์๋๋ฐ ์ด๋ฐ ๋ฌธ์ ์ ํ์ฉํ ์ ์๋ค๋ ๊ฒ์ ์๊ฒ ๋์๋ค.
๊ทธ๋ฐ๋ฐ Map๊ณผ Object๋ ์๋ ๋ฉด์์ ์ด๋ป๊ฒ ๋ค๋ฅผ๊น? ๊ถ๊ธํด์ ์๋ ๊ธ์ ์ฝ์ด๋ณด์๋ค.
Object์ Map์ ๋ด๋ถ ์ฒ๋ฆฌ ๋ฐฉ์์ด ๋ค๋ฅด๋ค. Object๋ ๋ฐ์ดํฐ๊ฐ ์์๋๋ก ์ ์ฌ๋์ง ์๋๋ค. ๊ทธ๋์ ๋ธ๋ผ์ฐ์ ๋ Object์์ set์ด ์ผ์ด๋๋ฉด ์๋ฌด ๊ณณ์ ๊ณต๊ฐ์ ๋ง๋ค์ด์ ๊ฐ์ ๋ฃ๋๋ค. ๋ฐ๋ฉด Map์ ์์ฐจ์ ์ผ๋ก ๋ฐ์ดํฐ๋ฅผ ์ ์ฌํ๋ค. ์ด๋๋ฌธ์ ์ฌ๊ธฐ์ ๋ฐ์ํ๋ ์ถ๊ฐ์ ์ธ ํ๋(๋ฐ์ดํฐ ์ฌ๋ฐฐ์น, ์ ๋ ฌ ๋ฑ)์ด set ์ฒ๋ฆฌ์ ๋ํด์ ์ผ๋ถ ์ฑ๋ฅ ์ ํ๋ฅผ ๋ฐ์์ํจ๋ค๊ณ ํ๋ค.
๊ทธ๋์ Object๋ set์ด ๋น ๋ฅด๊ณ , Map์ get์ด ๋น ๋ฅด๋ค๋ ๊ฒฐ๊ณผ๊ฐ ๋์๋ค.
Presentation day
์ค๋์ ์๋ 10์ ๋ฐ์ 1์๊ฐ ๋ฐ ๋์ ํฌ๋กฑ์ ์์ ๋์ , ๊ฐ์ ์ค๋นํด ์จ ๋ฐํ๋ฅผ ํ๋ ๋ฏธ๋ ์ธ๋ฏธ๋ ์๊ฐ์ด์๋ค. ๋ฐํ์๋ ์ฝ๋๋ฅผ ๋๋ ค์ ๋ฐ๋ก ๋๋ค์ผ๋ก ์ ํด์ก๋ค. ๋ฐํ๋ ์๋ฐ์ ์ธ ์ง์์ 4๋ช ์ ํฌํจํด์ ์ด 15๋ช ์ ์ฝ๋์ค์ฟผ๋ ๋ฉค๋ฒ๋ค์ด ํ๊ฒ ๋์๊ณ ๋๋ ์์ฝ๊ฒ๋(?) ๊ฑธ๋ฆฌ์ง ์๊ฒ ๋์๋ค.
์ค์ , ์คํ๋ก ๋๋ ์ ์งํํ๋๋ฐ, 15๋ช ์ ๋ฐํ๋ฅผ ๋ฃ๋ ๊ฒ์ ์ฝ์ง ์์ ์ผ์ด์๋ค. ์ฌ์ค ๋ฐํ์ ์ ์ฅ์์๋ ๊ธด์ฅ๋ ๋์ด์ ๋ ํ๋ค์๊ฒ ์ง๋ง ๋ง์ด๋ค. ๊ทธ๋๋ ์ ๋ง ๊ต์ฅํ ์ ์ตํ๊ณ , ๋ฐํ๋ฅผ ๋๋ฌด๋ ์ ์ค๋นํด ์จ ์ฌ๋๋ค์ด ๋ง์์ ์ง์ ์ธ ์๊ทน๋ ๋ง์ด ๋์๋ค. ์๋ก์ด ๋ด์ฉ, ํน์ ์๊ณ ์์์ผ๋ ํ๋ฆฟํ๋ ๋ด์ฉ๋ค๋ ์์๊ณ ๋ชจ๋ ๋ค ์ค์ํ ๋ด์ฉ๋ค์ด์๋ค. ๋ค๋ก ๊ฐ์๋ก ๋์ ์ฝ๊ฐ ๊ณผ๋ถํ๊ฐ ์ผ์ด๋ฌ์ง๋ง ๋๊น์ง ์ง์คํด์ ๋ค์ผ๋ ค๊ณ ๋ ธ๋ ฅํ๋ค.
๋ฐํ๋ฅผ ๋ง์ ์ค๋นํ ๋๋ ๋ถ๋ด์ด ๋ ์ปธ๋๋ฐ ๋ง์ ๋ฐํ๋ฅผ ์ค๋นํ๋ฉฐ ๊ณต๋ถํ๋ค ๋ณด๋ ๋จธ๋ฆฟ์์ ๊ทธ ๋ด์ฉ๋ค์ด ๋ ์ ๋จ๋๋ค๋ ๊ฒ์ ๊นจ๋ฌ์๋ค. ์ด๋ฐ ์ธ์ ์ด ์์ฃผ ์์์ผ๋ฉด ์ข๊ฒ ๋ค๋ ์๊ฐ์ ํ๋ค. ๋ค๊ฐ์ด ๋ ๋น ๋ฅด๊ฒ ์ฑ์ฅํ ์ ์๋ ๋ฐฉ๋ฒ์ธ ๊ฒ ๊ฐ๋ค. ๊ทธ๋ฆฌ๊ณ ๋๋ ์ฝ๊ฐ์ ์คํธ๋ ์ค, ์ฆ ์๋ฐ์ด ๋ค์ด์์ ๋ ํผํฌ๋จผ์ค๊ฐ ๋ ์ข๋ค๊ณ ์๊ฐํ๋ค. ์ง์์ ๋ถํธ์บ ํ๋ฅผ ์จ๋ผ์ธ์ผ๋ก ์งํํ๋ค ๋ณด๋ฉด ๋๋ฌด ํธํ ๊ณต๊ฐ์ด๋ค๋ณด๋ ๊ธด์ฅ๊ฐ์ด ํ์ด์ง๊ณ , ์ด๊ฒ ์ง์๋๋ฉด ์์ผํด์ง ๋๋ ์๋ค. ๊ทธ๋ฐ๋ฐ ์ด๋ ๊ฒ ๋ฐํ๋ฅผ ์ค๋นํ๊ณ ๋ค๋ฅธ ์ฌ๋๋ค์ ๋ฐํ๋ฅผ ๋ฃ๊ฒ ๋๋ฉด์ ๋ค์ ๊ธด์ฅ์ ๋์ ์ก๊ฒ ๋์๋ค. ์ ์ ํ ๊ธด์ฅ์ด ์คํ๋ ค ํ์ต์ ๋์์ด ๋๋ค๋ ๊ฒ์ ๋ค์ ๊นจ๋ซ๊ฒ ๋๋ ํ๋ฃจ์๋ค.
Prototype
๋ชจ๋ ๋ฐํ๊ฐ ๋ค ์ธ์๊น์์ง๋ง ๊ทธ ์ค์์ ์๋์ ํ๋กํ ํ์ ๋ฐํ๊ฐ ์ธ์๊น์๋ค. ์๋๋ฉด ๋๋ ๊ทธ๋์ ํ๋กํ ํ์ ์ ๊ณต๋ถ๋ฅผ ํ๋ค๊ณ ๋ ํ์ง๋ง ์ ๋ง "์ ๋๋ก" ์๋ค๊ณ ํ ์ ์๊ธฐ ๋๋ฌธ์ด๋ค. ์ค์ํ๋ค๋ ๊ฒ์ ์๊ณ ์์ง๋ง ๊ทธ๋งํผ ์ด๋ ต๊ธฐ๋ ํด์ ์ ๋๋ก ํ๊ตฌํ๋ ์๊ฐ์ ๋ฏธ๋ฃจ๊ธฐ๋ ํ๋ค. ๊ทธ๋ฐ๋ฐ ์๋๊ฐ ์ด๋ฐ ๋์ ๋ฏธ๋ฃธ์ ๋๋ด์ฃผ์๋ค. ์ด์ ๋์ด์ ํ๋กํ ํ์ ์ ๋ํด์ ๋ฌด์งํ ์ฑ๋ก ์์ผ๋ฉด ์๋๊ฒ ๋ค๋ ์๊ทน์ ๋ฐ์๊ธฐ ๋๋ฌธ์ด๋ค. ๊ทธ๋์ ์ค๋์ ๋ฏธ์ ์ ํ๋ ๋์ ํ๋กํ ํ์ ์ ๋ํ ๊ธ์ ์ฝ๊ณ ๋ ธ์ ์๋ ์ ๋ฆฌํด ๋ณด๊ณ , ํ๋ธ๋ฆฟ์๋ ์จ๊ฐ๋ฉด์ ์ฐจ๊ทผ์ฐจ๊ทผ Deep Dive ์ฑ ์ ์ฝ์ด๋ณด์๋ค. ๋ถ๋์ด ๋ง์์ ์ ๋ถ ์ฝ์ง๋ ๋ชปํ์ง๋ง ์ด๋ฒ ์ฃผ๋ง์ ์ด์ฉํด์ ํ๋กํ ํ์ ๋ถ๋ถ์ ๋ค ์ฝ์ผ๋ ค๊ณ ํ๋ค.
Book: My job went to India - 52 ways to save your job
์ ์ฑ ์ ์ค๋ ๊ฒ์์ ํ๋ ์ค ์ฐ์ฐํ ์๊ฒ๋์๋ค. 2005๋ ์ ์ถ๊ฐ๋ ์ฑ ์ผ๋ก ๋ฌด๋ ค ์ง๊ธ์ผ๋ก๋ถํฐ 17๋ ์ ์ ๊ฐ๋ฐ ์ด์ผ๊ธฐ์ด์ง๋ง, ์ง๊ธ์ ๋์๊ฒ๋ ๋์์ด ๋ ๋งํ ์ฌ๋ฌ ์กฐ์ธ๋ค์ด ์์๋ค. ๋ํ ์ ์๊ฐ ์์ ์ ํ๋ค๊ฐ ๊ฐ๋ฐ์ ํ๊ฒ ๋์๋ค๊ณ ํ์ฌ, ๋น์ ๊ณต์์ธ ๋์๊ฒ๋ ์ด ์ ๋ ํฅ๋ฏธ๊ฐ ์์๋ค. ํ๊ตญ์ด ๋ฒ์ญํ์ 2008๋ ์ ์ถ๊ฐ๋์๋๋ฐ ์ ๋ชฉ์ <์ฌ๋ํ์ง ์์ผ๋ฉด ๋ ๋๋ผ! ๊ฐ๋ฐ์์ ์๊ธฐ๊ณ๋ฐ๊ณผ ๊ฒฝ๋ ฅ๊ด๋ฆฌ๋ฅผ ์ํ 52๊ฐ์ง ์ค์ฒ ๊ฐ์ด๋>์ด๋ค.
Challenge!
์ด ์ฑ ์ ์์๋ก ํ ๋ฒ ๋์ ํด ๋ณด๋ ค๊ณ ํ๋ค. ์์ด๊ณต๋ถ ๊ฒธ, ๊ฐ๋ฐ์ ์ค์ง์ ์ผ๋ก ๋์์ด ๋ ํ๋ค์ ์ป์ด๊ฐ๊ธฐ ์ํด์์ด๋ค. ์๊ฐ์ด ์ผ๋ง๋ ๊ฑธ๋ฆด์ง๋ ์์ง ๋ชจ๋ฅด์ง๋ง, ์งฌ์ ๋ด์ ๊พธ์คํ ์ฝ์ด ๋ณด๊ณ , ํ๊ธฐ๋ ๋จ๊ธฐ๋ ๊ฒ์ด ๋ชฉํ๋ค.
์ค๋ ์๋ฒฝ Introduction ๋ถ๋ถ์ ์ฝ๊ฐ ์ฝ์๋๋ฐ ๋ชจ๋ฅด๋ ๋จ์ด๊ฐ ๋ง์ด ๋์์ ์๋ง ์ข ์ค๋ ๊ฑธ๋ฆด ๊ฒ ๊ฐ๊ธด ํ๋ค. ์๋ฌด๋๋ ์๊ฐ์ ๊ฝค๋ ๊ฑธ๋ฆด ๊ฒ ๊ฐ๋ค. ๊ทธ๋๋ ๊ผญ ์์ฃผํด ๋ผ ๊ฒ์ด๋ค.
์ค๋์ 3์์ ๋ง์ง๋ง ๋ ์ด์๋ค. ๋ฒ์จ 2022๋ ์ 1/4๊ฐ ํ์ฉ ์ง๋๊ฐ๊ณ , ์ฝ๋์ค์ฟผ๋๋ 1/2๊ฐ ์ง๋ฌ๋ค. ์๊ฐ์ด ์ด๋ ๊ฒ ์ง๋๊ฐ ๋์ ๋ด๊ฐ ์ ํ ์ ๋ ๋ณด์ด๊ณ , ์์ฌ์ด ์ ๋ ๋ณด์ด๊ณ ์๋ค. ์ด๊ฒ์ ์ ์ ๋ฆฌํด์ ์ฃผ๋ง ์๊ฐ์ ์ด์ฉํด ํ๊ณ ๊ธ์ ํ๋ ์์ฑํด ๋ณด๋ ค๊ณ ํ๋ค. ํ๊ณ ๋ ์ ๋ง ์ฑ์ฅ์ ์ํด์ ํ์๋ผ๋ ์๊ฐ์ด ๋ ๋ค.
์์ฆ ๋ฆ๊ฒ ์๋ฉด์ ์๋ฉด์๊ฐ์ด ํ์๋ณด๋ค ์ค๊ฒ ๋์๋๋ฐ(ํ๊ท ์น๋ณด๋ค๋ ์ฌ์ ํ ๋์ง๋ง), ์ฌ์ค ์ด๋ ๊ฒ ์ ์ ์ค์ด๊ธฐ๋ณด๋ค๋ ๊ทธ๋ฅ ํ๋ฃจ๋ฅผ ๋ ๋ฐ๋์๊ฒ ์ด๊ณ ์ถ๋ค๋ ์๊ฐ์ด ๋ ๋ค. ๊ทธ๋ฌ๋ ค๋ฉด ์๊ฐ์ ์ข ๋ tracking์ ์ ํ๊ณ ๊ด๋ฆฌ๋ฅผ ํ๊ณ ์ถ์๋ฐ ๋งค๋ฒ ๊ณ ๋ฏผํ๋ ๋ฌธ์ ์ด๋ค. ์๊ฐ์ ๋ ๊ฐ์น์๊ฒ ์ฐ๊ณ ์ถ๋ค๋ ์๊ฐ, ๊ทธ ๋ฐฉ๋ฒ์ ๋ํด์๋ ๊ณ์ ๊ณ ๋ฏผ์ด ๋ ๊ฒ ๊ฐ๋ค.
'What I learned > CodeSquad Log' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
CodeSquad Day 61 : Team Project Week 1 (0) | 2022.04.05 |
---|---|
CodeSquad Day 60 : Front-end Week 7 (0) | 2022.04.02 |
CodeSquad Day 58 : Front-end Week 7 (0) | 2022.03.31 |
CodeSquad Day 57 : Front-end Week 7 (0) | 2022.03.30 |
CodeSquad Day 56 : Front-end Week 7 (0) | 2022.03.29 |