๐ฅ๏ธ Study Note
![[ํ๋ก๊ทธ๋๋จธ์ค]level.2 - N-Queen(C++)](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbPrfb4%2FbtspCnbp6Lm%2FJXuKrIXZkQZIislUdnBq2k%2Fimg.png)
[ํ๋ก๊ทธ๋๋จธ์ค]level.2 - N-Queen(C++)
https://school.programmers.co.kr/learn/courses/30/lessons/12952 ๋ฌธ์ ์ค๋ช ๊ฐ๋ก, ์ธ๋ก ๊ธธ์ด๊ฐ n์ธ ์ ์ฌ๊ฐํ์ผ๋ก๋ ์ฒด์คํ์ด ์์ต๋๋ค. ์ฒด์คํ ์์ n๊ฐ์ ํธ์ด ์๋ก๋ฅผ ๊ณต๊ฒฉํ ์ ์๋๋ก ๋ฐฐ์นํ๊ณ ์ถ์ต๋๋ค. ์๋ฅผ ๋ค์ด์ n์ด 4์ธ๊ฒฝ์ฐ ๋ค์๊ณผ ๊ฐ์ด ํธ์ ๋ฐฐ์นํ๋ฉด n๊ฐ์ ํธ์ ์๋ก๋ฅผ ํ๋ฒ์ ๊ณต๊ฒฉ ํ ์ ์์ต๋๋ค. ์ฒด์คํ์ ๊ฐ๋ก ์ธ๋ก์ ์ธ๋ก์ ๊ธธ์ด n์ด ๋งค๊ฐ๋ณ์๋ก ์ฃผ์ด์ง ๋, n๊ฐ์ ํธ์ด ์กฐ๊ฑด์ ๋ง์กฑ ํ๋๋ก ๋ฐฐ์นํ ์ ์๋ ๋ฐฉ๋ฒ์ ์๋ฅผ returnํ๋ solutionํจ์๋ฅผ ์์ฑํด์ฃผ์ธ์. ๋ด ํ์ด N-Queen์ ๋ฐฑํธ๋ํน์ ๋ํ์ ์ธ ์์ ๋ผ๊ณ ํ๋ค. ๋ฐฑํธ๋ํน์ ๊ณต๋ถํ๋ฉด์ ๋ค์ ํ์ด๋ดค๋๋ฐ, ์กฐ๊ฑด์ ๋ฐ๋ผ DFS๋ฅผ ์งํํ๋ค๊ฐ ์กฐ๊ฑด์ ๋ง์ง ์๋ ๊ฒฝ์ฐ๋ผ๋ฉด ์ฒ์๋ถํฐ ์กฐ๊ฑด์ ๋ฐ๋ผ..
![[ํ๋ก๊ทธ๋๋จธ์ค]level.2 - n^2 ๋ฐฐ์ด ์๋ฅด๊ธฐ(C++)](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbHl3se%2FbtspfPNWRjs%2FMw9ZuQh2X0PsMVqucvpar0%2Fimg.png)
[ํ๋ก๊ทธ๋๋จธ์ค]level.2 - n^2 ๋ฐฐ์ด ์๋ฅด๊ธฐ(C++)
https://school.programmers.co.kr/learn/courses/30/lessons/87390 ๋ฌธ์ ์ค๋ช ์ ์ n, left, right๊ฐ ์ฃผ์ด์ง๋๋ค. ๋ค์ ๊ณผ์ ์ ๊ฑฐ์ณ์ 1์ฐจ์ ๋ฐฐ์ด์ ๋ง๋ค๊ณ ์ ํฉ๋๋ค. nํ n์ด ํฌ๊ธฐ์ ๋น์ด์๋ 2์ฐจ์ ๋ฐฐ์ด์ ๋ง๋ญ๋๋ค. i = 1, 2, 3, ..., n์ ๋ํด์, ๋ค์ ๊ณผ์ ์ ๋ฐ๋ณตํฉ๋๋ค. 1ํ 1์ด๋ถํฐ iํ i์ด๊น์ง์ ์์ญ ๋ด์ ๋ชจ๋ ๋น ์นธ์ ์ซ์ i๋ก ์ฑ์๋๋ค. 1ํ, 2ํ, ..., nํ์ ์๋ผ๋ด์ด ๋ชจ๋ ์ด์ด๋ถ์ธ ์๋ก์ด 1์ฐจ์ ๋ฐฐ์ด์ ๋ง๋ญ๋๋ค. ์๋ก์ด 1์ฐจ์ ๋ฐฐ์ด์ arr์ด๋ผ ํ ๋, arr[left], arr[left+1], ..., arr[right]๋ง ๋จ๊ธฐ๊ณ ๋๋จธ์ง๋ ์ง์๋๋ค. ์ ์ n, left, right๊ฐ ๋งค๊ฐ๋ณ์๋ก ์ฃผ์ด์ง๋๋ค. ์ฃผ์ด..
[ํ๋ก๊ทธ๋๋จธ์ค]level.2 - ํ ์ด๋ธ ํด์ ํจ์(C++)
https://school.programmers.co.kr/learn/courses/30/lessons/147354 ๋ฌธ์ ์ค๋ช ์ํธ๊ฐ ๊ด๋ฆฌํ๋ ์ด๋ค ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ํ ํ ์ด๋ธ์ ๋ชจ๋ ์ ์ ํ์ ์ธ ์ปฌ๋ผ๋ค๋ก ์ด๋ฃจ์ด์ ธ ์์ต๋๋ค. ํ ์ด๋ธ์ 2์ฐจ์ ํ๋ ฌ๋ก ํํํ ์ ์์ผ๋ฉฐ ์ด์ ์ปฌ๋ผ์ ๋ํ๋ด๊ณ , ํ์ ํํ์ ๋ํ๋ ๋๋ค. ์ฒซ ๋ฒ์งธ ์ปฌ๋ผ์ ๊ธฐ๋ณธํค๋ก์ ๋ชจ๋ ํํ์ ๋ํด ๊ทธ ๊ฐ์ด ์ค๋ณต๋์ง ์๋๋ก ๋ณด์ฅ๋ฉ๋๋ค. ์ํธ๋ ์ด ํ ์ด๋ธ์ ๋ํ ํด์ ํจ์๋ฅผ ๋ค์๊ณผ ๊ฐ์ด ์ ์ํ์์ต๋๋ค. ํด์ ํจ์๋ col, row_begin, row_end์ ์ ๋ ฅ์ผ๋ก ๋ฐ์ต๋๋ค. ํ ์ด๋ธ์ ํํ์ col๋ฒ์งธ ์ปฌ๋ผ์ ๊ฐ์ ๊ธฐ์ค์ผ๋ก ์ค๋ฆ์ฐจ์ ์ ๋ ฌ์ ํ๋, ๋ง์ฝ ๊ทธ ๊ฐ์ด ๋์ผํ๋ฉด ๊ธฐ๋ณธํค์ธ ์ฒซ ๋ฒ์งธ ์ปฌ๋ผ์ ๊ฐ์ ๊ธฐ์ค์ผ๋ก ๋ด๋ฆผ์ฐจ์ ์ ๋ ฌํฉ๋๋ค. ์ ๋ ฌ๋ ๋ฐ์ดํฐ์์ S..
[ํ๋ก๊ทธ๋๋จธ์ค]level.3 - ๊ฑฐ์ค๋ฆ๋(C++)
๋ฌธ์ ์ค๋ช Finn์ ํธ์์ ์์ ์ผ๊ฐ ์๋ฅด๋ฐ์ดํธ๋ฅผ ํ๊ณ ์์ต๋๋ค. ์ผ๊ฐ์ ์๋์ด ๋๋ฌด ์์ด ์ฌ์ฌํ Finn์ ์๋๋ค๊ป ๊ฑฐ์ค๋ฆ๋์ n ์์ ์ค ๋ ๋ฐฉ๋ฒ์ ๊ฒฝ์ฐ์ ์๋ฅผ ๊ตฌํ๊ธฐ๋ก ํ์์ต๋๋ค. ์๋ฅผ ๋ค์ด์ ์๋๊ป 5์์ ๊ฑฐ์ฌ๋ฌ ์ค์ผ ํ๊ณ 1์, 2์, 5์์ด ์๋ค๋ฉด ๋ค์๊ณผ ๊ฐ์ด 4๊ฐ์ง ๋ฐฉ๋ฒ์ผ๋ก 5์์ ๊ฑฐ์ฌ๋ฌ ์ค ์ ์์ต๋๋ค. 1์์ 5๊ฐ ์ฌ์ฉํด์ ๊ฑฐ์ฌ๋ฌ ์ค๋ค. 1์์ 3๊ฐ ์ฌ์ฉํ๊ณ , 2์์ 1๊ฐ ์ฌ์ฉํด์ ๊ฑฐ์ฌ๋ฌ ์ค๋ค. 1์์ 1๊ฐ ์ฌ์ฉํ๊ณ , 2์์ 2๊ฐ ์ฌ์ฉํด์ ๊ฑฐ์ฌ๋ฌ ์ค๋ค. 5์์ 1๊ฐ ์ฌ์ฉํด์ ๊ฑฐ์ฌ๋ฌ ์ค๋ค. ๊ฑฐ์ฌ๋ฌ ์ค์ผ ํ๋ ๊ธ์ก n๊ณผ Finn์ด ํ์ฌ ๋ณด์ ํ๊ณ ์๋ ๋์ ์ข ๋ฅ money๊ฐ ๋งค๊ฐ๋ณ์๋ก ์ฃผ์ด์ง ๋, Finn์ด n ์์ ๊ฑฐ์ฌ๋ฌ ์ค ๋ฐฉ๋ฒ์ ์๋ฅผ return ํ๋๋ก solution ํจ์๋ฅผ ์์ฑํด ์ฃผ์ธ..
[ํ๋ก๊ทธ๋๋จธ์ค]level.2 - [์นด์นด์ค ์ธํด] ์์ ์ต๋ํ(C++)
https://school.programmers.co.kr/learn/courses/30/lessons/67257 ๋ฌธ์ ์ค๋ช IT ๋ฒค์ฒ ํ์ฌ๋ฅผ ์ด์ํ๊ณ ์๋ ๋ผ์ด์ธ์ ๋งค๋ ์ฌ๋ด ํด์ปคํค ๋ํ๋ฅผ ๊ฐ์ตํ์ฌ ์ฐ์น์์๊ฒ ์๊ธ์ ์ง๊ธํ๊ณ ์์ต๋๋ค. ์ด๋ฒ ๋ํ์์๋ ์ฐ์น์์๊ฒ ์ง๊ธ๋๋ ์๊ธ์ ์ด์ ๋ํ์๋ ๋ค๋ฅด๊ฒ ๋ค์๊ณผ ๊ฐ์ ๋ฐฉ์์ผ๋ก ๊ฒฐ์ ํ๋ ค๊ณ ํฉ๋๋ค. ํด์ปคํค ๋ํ์ ์ฐธ๊ฐํ๋ ๋ชจ๋ ์ฐธ๊ฐ์๋ค์๊ฒ๋ ์ซ์๋ค๊ณผ 3๊ฐ์ง์ ์ฐ์ฐ๋ฌธ์(+, -, *) ๋ง์ผ๋ก ์ด๋ฃจ์ด์ง ์ฐ์ฐ ์์์ด ์ ๋ฌ๋๋ฉฐ, ์ฐธ๊ฐ์์ ๋ฏธ์ ์ ์ ๋ฌ๋ฐ์ ์์์ ํฌํจ๋ ์ฐ์ฐ์์ ์ฐ์ ์์๋ฅผ ์์ ๋กญ๊ฒ ์ฌ์ ์ํ์ฌ ๋ง๋ค ์ ์๋ ๊ฐ์ฅ ํฐ ์ซ์๋ฅผ ์ ์ถํ๋ ๊ฒ์ ๋๋ค. ๋จ, ์ฐ์ฐ์์ ์ฐ์ ์์๋ฅผ ์๋ก ์ ์ํ ๋, ๊ฐ์ ์์์ ์ฐ์ฐ์๋ ์์ด์ผ ํฉ๋๋ค. ์ฆ, + > - > * ๋๋ - >..