๐ ํ์ต๋ด์ฉ
โ ์๊ณ ๋ฆฌ์ฆ ๊ฐ๋
์ฌํ
- ๋ธ๋ฃจํธํฌ์ค
- ๊ทธ๋ฆฌ๋์๊ณ ๋ฆฌ์ฆ
- ๋ถํ ์ ๋ณต
BOJ 2630, 1992
- ๋ฐฑํธ๋ํน
BOJ 15650, 9663
- ๋ค์ด๋๋ฏน ํ๋ก๊ทธ๋๋ฐ
BOJ 1003, 11053, 9183, 1932, 1149, 9461, 2679, 11054
โ Python ๋ฌธ๋ฒ
- list.sort() ์ sorted(list) ์ ๋น๊ต
- split() ๊ณผ join()์ ๋น๊ต
- zip()
โ Java & Spring ๊ด๋ จ
- IntelliJ IDE ์ค์น ๋ฐ ์คํ
- Java
Java ๊ธฐ์ด๋ฌธ๋ฒ
Java Class
- H2 Database : ์๋ฒ๊ฐ ์๋๋๋๋์์๋ง CRUD๊ฐ ๊ฐ๋ฅํ ๋ฐ์ดํฐ๋ฒ ์ด์ค. ๊ฐ๋ฒผ์ด ์ฉ๋์ ํ์ต์ฉ์ผ๋ก ์ข์
- ARC(Advanced REST Client) : ์ฃผ์, method, header, body ๋ฑ์ ์กฐ์์ ํตํด ์๋ฒ์๋ต๋ด์ฉ์ ํ์ธํ๋ ํด
๐ ๋๋์
โ ์๊ณ ๋ฆฌ์ฆ ๊ฐ๋
์ ์๊ณ ๋ฌธ์ ๋ฅผ ํธ๋๊ฒ๊ณผ ๋ชจ๋ฅด๊ณ ํธ๋ ๊ฒ์ ์ฐจ์ด
์ง๋์ฃผ๋๋ ๋๊ผ๋ ์ ์ด์ง๋ง, ์ด๋ฒ์ฃผ๋ ์ข ๋ ์์๋ก ๋ค์๋ ์๊ฐ์ด๋ค. ํนํ ์ข ๋ ๋์ด๋๊ฐ ์ด๋ ค์์ง๋ค ์ถ์ ๊ฐ๋
์ ๋ฌธ์ ๋ค์ ์ฌ์ง์์ด ํ๋ ์ด์์ ๊ฐ๋
์ ๋ ์ฌ๋ ค ํจ๊ป ๋
น์ฌ๋ด์ผ ํ๋ ๋ฌธ์ ๋ค์ด์๋ค. ์๋ฅผ๋ค์ด, DFS๋ฅผ ๋ฐฐ์ธ๋๋ ์ฌ๊ทํจ์์ ๊ตฌ์กฐ๋ฅผ ํ์ฉํ๊ฑฐ๋ Stack์ ๊ตฌ์กฐ๋ฅผ ํ์ฉํ๋ค. BFS๋ฅผ ๋ฐฐ์ธ๋๋ Queue์ ๊ตฌ์กฐ๋ฅผ ํ์ฉํ๋ค. BackTracking ์๊ณ ๋ฆฌ์ฆ๋ ์ฌ๊ท๊ตฌ์กฐ๋ฅผ ๊ตฌํํด์ผ ๋ณด๋ค ๋ ์ง๊ด์ ์ธ ์๊ณ ๋ฆฌ์ฆ์ด ๋๋ค. ๋ถํ ์ ๋ณต ๋ํ ์ฌ๊ท๊ตฌ์กฐ๋ฅผ ํ์ฉํ Dynamic Programming์ด๋ผ๊ณ ๋๊ผ๋ค.
๊ฐ์ธ์ ์ผ๋ก ๋๋ผ๊ธฐ์ ์ด๋ฒ์ฃผ์ ์๋ก์ด ํ์ตํด๋ณด๋ผ๊ณ ํ์
จ๋ ๊ฐ๋
๋ค ์ค ๋ธ๋ฃจํธํฌ์ค๋ ๊ทธ๋ฆฌ๋์๊ณ ๋ฆฌ์ฆ์ ๊ฒฝ์ฐ๋ ๋ณ ์ด๋ ค์ ์์ด ๋ฌธ์ ๋ฅผ ํ๋ฉฐ '์ด๋ฐ๊ฑธ ๊ทธ๋ ๊ฒ ๋ถ๋ฅด๋๋ณด๋ค'๋ผ๋ ์์ผ๋ก ์ดํด๋ฅผ ํ๋ค๋ฉด, ๊ทธ ์ธ์ ๋ถํ ์ ๋ณต, BackTracking, DynamicProgramming ๋ฑ์ ์ฌ๊ธฐ์ ๊ธฐ ์ด์ฌํ ๋ค์ ธ๊ฐ๋ฉฐ ๊ทธ ๊ฐ๋
์ ์ตํ๋ค.
โ ๊ฐ๋
์ดํด ≠ ์์ฉ
์ด์ด์ ๋๋ ์ ์ค ๊ฝค ํฐ ๋ถ๋ถ์ธ๋ฐ, ๊ฐ๋
์ ๊ฐ๋จํ๊ฒ ์ค๋ช
ํ๋๊ฑด ๊ทธ๋ฆฌ ์ด๋ ต์ง ์๊ฒ ๋๊ปด์ก๋ค. ํ์ง๋ง ๊ตฌ์ฒด์ ์ผ๋ก ์๊ณ ๋ฆฌ์ฆ ๋ฌธ์ ์์ ์ด ๊ฐ๋
์ ์ฝ๋๋ก ๊ตฌํํด์ผ ํ๋ ์ํฉ์ด ๋์ ๋งค๋๋ฝ๊ฒ ์ด์ด์ง์ง ์์๋ค. ์ ์ญ๋ฒ์์ ์ด๋ ํ ๊ฒ๋ค์ ์ ์ธํด๋์ผ ํ ์ง, ํ์ถ์กฐ๊ฑด์ด๋ ์ ๋งํจ์๋ ์ด๋ป๊ฒ ์ค์ ํด๋์ผ ์ ํํ ์๋์ ํ ์ง์ ๋ํด์๋ ๋ฌธ์ ๋ฅผ ํ๋ฉด์ ์ฌ๋์๊ฒ ๊ณ ๋ฏผํด๋ณด๋๊ฒ ํจ์ฌ ์ ์ตํ๋ค๊ณ ๋๊ผ๋ค.
โ ์ข์ ๋๋ฃ๋?
์ญ์๋ ๋ง์ง๋ง ๋๋์ ์ ์ํํธ์คํฌ์ ๊ดํ ๋ถ๋ถ์ด๋ค.
์ด๋ฒ ์กฐ์์ ๋๋ ๋ ์กฐ์ฅ์ด ๋์๊ณ , ๊ณผ์ฐ ๋ด๊ฐ ์ค์ผ์ค์ ์ ๋ถ๋ฐฐํด์ ํ๋ฐํ ๊ต๋ฅํ ์ ์์๊น๋ผ๋ ๋ง์์ ๊ธฐ๋ ๋ฐ, ๊ฑฑ์ ๋ฐ์ด์๋ค.
๊ฑฑ์ ์ ํ๋ ์ด์ ๋ ๊ณ์ํด์ ํ์ฐจํ๋ ์กฐ์๋ค์ ๋ด์๊ธฐ ๋๋ฌธ๋ ์๋ค. ๊ทธ๋์ ์ด๋ฒ์๋ ๋ด๊ฐ ๋ถ์ง๋ฐํ ์ง๋๋ฅผ ๋นผ์ ์กฐ์๋ค์๊ฒ ์ต๋ํ ์ค๋ช
ํด์ค ์ ์๋ ์ค๋น๊ฐ ๋์ด์ผ๊ฒ ๋ค๋ ๋ง์์ผ๋ก ์ํ๋ค.
์ด๋ฒ ์กฐ์๋ค์ ๋ญ๊ฐ ๋ค๊ฐ๊ฐ๋๋ฐ ์์ด์ ์๋ก ๋ค๋ฅธ ๋๋์ ๋ฐ์๋ค. ํ๋ช
์ ๋ค๋ฅธ ํ์๋ค๊น์ง ์ด๋ํด์ ์ฐ๋ฆฌ์กฐ์ ์ฑํ
๊ณต๊ฐ์ ๋๋์ฑ ํ์ฑํ์์ผฐ๊ณ , ๊ทธ ๋๋ถ์ ๊ฒช์ด๋ณด์ง ๋ชปํ๋ค๋ฉด ์ด์ฉ๋ฉด ์ญ์ฑ ์ญ๋งํ์ ํญํด๋ ๋๋ฃ๋ค์ ๋ํด ์กฐ๊ธ์ด๋๋ง ์์๊ฐ ์ ์๋ ์๊ฐ์ ๋ง๋ค์ด์ฃผ์๋ค.
๋ค๋ฅธ ํ๋ช
์ ๋ญ๊ฐ ๋ชฉ์ ์งํฅ์ ์ด๋๊น? ์ ํด์ง ํ ๋ฌธ์ ํ์ด ๊ณต์ ์๊ฐ๋ง๋ค ๋น ์ง์์ด ์ฑ์คํ ์ํด์ฃผ์๋ค. ๊ทธ ์ธ์ ๊ต๋ฅ๋ ์ฌ์ค์ ํ ์๊ฐ ์์๋๋ฐ, ๋๋ถ์ ๋ฌธ์ ํ์ด ๊ณต์ ๋ผ๋ ๋ณธ์ง์ ์ง์คํ ์ ์์๋ ์๊ฐ์ ๋ง๋ค์ด์ฃผ์๋ค.
์ด๋ฒ ํ์ฃผ๋ฅผ ๊ทธ๋ ๊ฒ ํจ๊ป ๋ณด๋ด๋ฉด์ ์ค์ค๋ก์๊ฒ ๋ฌธ๋ ๋ค์๋ ์ง๋ฌธ์ด์๋ค. ์ข์ ๋๋ฃ๋ ์ด๋ค ์ ํ์ ๋๋ฃ์ผ๊น? ์ด๋ ์ ํ์ด ๋ ์์ฐ์ ์ด๋ผ๊ณ ํ ์ ์์๊น? ์ด๋ ํ์ชฝ์ด ์ ๋์ ์ผ๋ก ๋ง๋ค๊ณ ํ ์ ์์๊น?
๐ ์์ฌ์ ๋ ์
์ด์ฉ๋ค ๋ณด๋ 6์ผ๊ฐ๊ฒฉ์ผ๋ก ๋ํต์ด ์ฐพ์์ค๊ณ ์๋ค. ๋ง์์ ์ฌ์ ๊ฐ ๋ง์ด ๋ถ์กฑํ ํ์ธ์ง ๋ํต์ ํ๋ฒ ๊ฒช๊ณ ๋๋ฉด ์์ฒญ๋ ์๋ฐ๊ฐ์ด ๋ฐ๋ ค์จ๋ค. ์๊ณ ๋ฆฌ์ฆ ํํฐ๋์ด ๋ฉํ ๋ง์๊ฐ์ ๋ง์ํด์ฃผ์
จ๋ ๋ฉํ์ธ์์ด๋ผ๋๊ฒ ์ด๋ฐ๊ฑด๊ฐ ๋ผ๋ ์๊ฐ๋ ํด๋ณด๋ฉด์ ์ข๋ ์๊ธฐ๊ด๋ฆฌ๋ฅผ ์ฒ ์ ํ ํด์ผ๊ฒ ๋ค๋ ์๊ฐ์ด ๋ ๋ค.
๋ํ๋ ์์ฌ์ ๋ ์ ์ ์ญ์๋ ์๊ฐํ์ฉ์ ๊ดํ ๋ถ๋ถ์ธ๋ฐ, ์ฃผ์ด์ง ์๊ฐ์ ๋ชฐ์
๋๋ฅผ ๋์ฌ ํ์ตํ๋ฉด ์๊ฐ์ ์ข ๋ ํจ์จ์ ์ผ๋ก ์ธ ์ ์์ง ์์์๊น ๋ผ๋ ์๊ฐ์ ํ๋ค.
Github๋ ๋ ๋๋ฅผ ๊ดด๋กญ๊ฒ ํ๋ค.. ์์ ํ ์ดํด ์์ด ๊ณ์ ๊ทธ๋๊ทธ๋ ์๊ธฐ์๋ณ์์ผ๋ก ์ฐพ์๊ฐ๋ฉด์ ์ฐ๋ค๋ณด๋ CLI ๊ธฐ๋ฐ์ ๋ช
๋ น์ ์ ๋ฅผ ๋จน๊ณ ์๋ค. ๊นํ๋ธ๋ ๊ฐ๋ฐ๋ธ๋ก๊ทธ์ ๊พธ์คํ ๋
ธ๋ ฅ์ ๊ธฐ์ธ์ด๊ณ ์๋ ๋ค๋ฅธ ์ฌ๋๋ค์ ๋ณด๋ฉฐ ํ์ข ๋ค์ผ๋ฉฐ ๋๋ ์ต๊ดํ๋ฅผ ํด์ผ๊ฒ ๋ค.
Java Spring์ด๋ผ๋ ์ฃผํน๊ธฐ๋ฅผ ๊ณจ๋๋๋ฐ, ๋ถ๋ช
ํ ์๋นํ ๋ฒ๊ฑฐ์ธ๊ฒ์ด๋ผ๋ ์์์ ํ์ง๋ง ๋ง์ ๋ถ๋ช์ณ๋ณด๋ ์์ ์ด์์ ๋ฒ๊ฑฐ์์ด ๋๊ปด์ง๋ค.
๋ฌธ๋ 1์ฃผ์ฐจ๋ ๋ญฃ๋ ๋ชจ๋ฅด๊ณ ๊ฐ์ ธ๋ค ์ฐ๋ ๊ธฐ๋ฅ๊ณผ ๊ฐ๋
๋ค์ ๋ํด ์ด์ ๋ ์ธ์ ๋ ๋ณต์ตํ ์ ์๋๋ก ์ต์ํ์ ๋ฉ๋ชจ๋ผ๋ ํด๋ฌ์ผ๊ฒ ๋ค๋ ์๊ฐ์ผ๋ก '๐ง์ข ๋ ๊ณต๋ถํด๋ณผ ๊ฐ๋
'์ ์ถ๊ฐํ๋ค.
๐ง ์ข ๋ ๊ณต๋ถํด๋ณผ ๊ฐ๋
โ ์ถ๋ ฅํ์(formatting)
- signed char & unsigned char
- integer with size
โRest
- RestController
โ Controller, Service, Domain
- ๊ฐ๊ฐ์ ๊ฐ๋
๊ณผ ์ญํ ์ ๋ฒ์์ ๋ํด ๊ณต๋ถํด๋ณด๊ธฐ
โ Dto
- ์กด์ฌ๋ชฉ์ ์ ๋ํด ์ดํดํ๊ธฐ
Written by Joony-up
@๋ธ๋ผ์ดํธ์ฆ ๋๊ณก์
2021.03.21 20:00-21:25