๐ฅ๏ธ Study Note/Coding Test
[ํ๋ก๊ทธ๋๋จธ์ค]level.2 - ์ฐ์ ๋ถ๋ถ ์์ด ํฉ์ ๊ฐ์(C++)
https://school.programmers.co.kr/learn/courses/30/lessons/131701 ๋ฌธ์ ์ค๋ช ์ฒ ํธ๋ ์์ด์ ๊ฐ์ง๊ณ ๋๊ธฐ ์ข์ํฉ๋๋ค. ์ด๋ ๋ ์ฒ ํธ๋ ์ด๋ค ์์ฐ์๋ก ์ด๋ฃจ์ด์ง ์ํ ์์ด์ ์ฐ์ํ๋ ๋ถ๋ถ ์์ด์ ํฉ์ผ๋ก ๋ง๋ค ์ ์๋ ์๊ฐ ๋ชจ๋ ๋ช ๊ฐ์ง์ธ์ง ์์๋ณด๊ณ ์ถ์ด์ก์ต๋๋ค. ์ํ ์์ด์ด๋ ์ผ๋ฐ์ ์ธ ์์ด์์ ์ฒ์๊ณผ ๋์ด ์ฐ๊ฒฐ๋ ํํ์ ์์ด์ ๋งํฉ๋๋ค. ์๋ฅผ ๋ค์ด ์์ด [7, 9, 1, 1, 4] ๋ก ์ํ ์์ด์ ๋ง๋ค๋ฉด ๋ค์๊ณผ ๊ฐ์ต๋๋ค. ์ํ ์์ด์ ์ฒ์๊ณผ ๋์ด ์ฐ๊ฒฐ๋์ด ๋๊ธฐ๋ ๋ถ๋ถ์ด ์๊ธฐ ๋๋ฌธ์ ์ฐ์ํ๋ ๋ถ๋ถ ์์ด๋ ์ผ๋ฐ์ ์ธ ์์ด๋ณด๋ค ๋ง์์ง๋๋ค. ์ํ ์์ด์ ๋ชจ๋ ์์ elements๊ฐ ์์๋๋ก ์ฃผ์ด์ง ๋, ์ํ ์์ด์ ์ฐ์ ๋ถ๋ถ ์์ด ํฉ์ผ๋ก ๋ง๋ค ์ ์๋ ์์ ๊ฐ์๋ฅผ re..
[ํ๋ก๊ทธ๋๋จธ์ค]level.3 -ํ๋ ธ์ด์ ํ(C++)
https://school.programmers.co.kr/learn/courses/30/lessons/12946 ๋ฌธ์ ์ค๋ช ํ๋ ธ์ด ํ(Tower of Hanoi)์ ํผ์ฆ์ ์ผ์ข ์ ๋๋ค. ์ธ ๊ฐ์ ๊ธฐ๋ฅ๊ณผ ์ด ๊ธฐ๋์ ๊ฝ์ ์ ์๋ ํฌ๊ธฐ๊ฐ ๋ค์ํ ์ํ๋ค์ด ์๊ณ , ํผ์ฆ์ ์์ํ๊ธฐ ์ ์๋ ํ ๊ธฐ๋ฅ์ ์ํ๋ค์ด ์์ ๊ฒ์ด ์์ ์๋๋ก ์์๋๋ก ์์ฌ ์์ต๋๋ค. ๊ฒ์์ ๋ชฉ์ ์ ๋ค์ ๋ ๊ฐ์ง ์กฐ๊ฑด์ ๋ง์กฑ์ํค๋ฉด์, ํ ๊ธฐ๋ฅ์ ๊ฝํ ์ํ๋ค์ ๊ทธ ์์ ๊ทธ๋๋ก ๋ค๋ฅธ ๊ธฐ๋ฅ์ผ๋ก ์ฎ๊ฒจ์ ๋ค์ ์๋ ๊ฒ์ ๋๋ค. ํ ๋ฒ์ ํ๋์ ์ํ๋ง ์ฎ๊ธธ ์ ์์ต๋๋ค. ํฐ ์ํ์ด ์์ ์ํ ์์ ์์ด์๋ ์๋ฉ๋๋ค. ํ๋ ธ์ด ํ์ ์ธ ๊ฐ์ ๊ธฐ๋ฅ์ ์ผ์ชฝ ๋ถํฐ 1๋ฒ, 2๋ฒ, 3๋ฒ์ด๋ผ๊ณ ํ๊ฒ ์ต๋๋ค. 1๋ฒ์๋ n๊ฐ์ ์ํ์ด ์๊ณ ์ด n๊ฐ์ ์ํ์ 3๋ฒ ์ํ์ผ๋ก ์ต..
[ํ๋ก๊ทธ๋๋จธ์ค]level.2 - ์บ์(C++)
๋ฌธ์ ์ค๋ช ์ง๋๊ฐ๋ฐํ์์ ๊ทผ๋ฌดํ๋ ์ ์ด์ง๋ ์ง๋์์ ๋์ ์ด๋ฆ์ ๊ฒ์ํ๋ฉด ํด๋น ๋์์ ๊ด๋ จ๋ ๋ง์ง ๊ฒ์๋ฌผ๋ค์ ๋ฐ์ดํฐ๋ฒ ์ด์ค์์ ์ฝ์ด ๋ณด์ฌ์ฃผ๋ ์๋น์ค๋ฅผ ๊ฐ๋ฐํ๊ณ ์๋ค. ์ด ํ๋ก๊ทธ๋จ์ ํ ์คํ ์ ๋ฌด๋ฅผ ๋ด๋นํ๊ณ ์๋ ์ดํผ์น๋ ์๋น์ค๋ฅผ ์คํํ๊ธฐ ์ ๊ฐ ๋ก์ง์ ๋ํ ์ฑ๋ฅ ์ธก์ ์ ์ํํ์๋๋ฐ, ์ ์ด์ง๊ฐ ์์ฑํ ๋ถ๋ถ ์ค ๋ฐ์ดํฐ๋ฒ ์ด์ค์์ ๊ฒ์๋ฌผ์ ๊ฐ์ ธ์ค๋ ๋ถ๋ถ์ ์คํ์๊ฐ์ด ๋๋ฌด ์ค๋ ๊ฑธ๋ฆฐ๋ค๋ ๊ฒ์ ์๊ฒ ๋์๋ค. ์ดํผ์น๋ ์ ์ด์ง์๊ฒ ํด๋น ๋ก์ง์ ๊ฐ์ ํ๋ผ๊ณ ๋ฆ๋ฌํ๊ธฐ ์์ํ์๊ณ , ์ ์ด์ง๋ DB ์บ์๋ฅผ ์ ์ฉํ์ฌ ์ฑ๋ฅ ๊ฐ์ ์ ์๋ํ๊ณ ์์ง๋ง ์บ์ ํฌ๊ธฐ๋ฅผ ์ผ๋ง๋ก ํด์ผ ํจ์จ์ ์ธ์ง ๋ชฐ๋ผ ๋๊ฐํ ์ํฉ์ด๋ค. ์ดํผ์น์๊ฒ ์๋ฌ๋ฆฌ๋ ์ ์ด์ง๋ฅผ ๋์, DB ์บ์๋ฅผ ์ ์ฉํ ๋ ์บ์ ํฌ๊ธฐ์ ๋ฐ๋ฅธ ์คํ์๊ฐ ์ธก์ ํ๋ก๊ทธ๋จ์ ์์ฑํ์์ค. ์ ๋ ฅ ํ์ ์บ์ ํฌ..
[ํ๋ก๊ทธ๋๋จธ์ค]level.2 - ํํ(C++)
https://school.programmers.co.kr/learn/courses/30/lessons/64065 ๋ฌธ์ ์ค๋ช ์ ์์๋ ์๋์ ์์์๋ ์ด๊ฑฐ ๋๋ ์ด๋ค ์์๋ฅผ ๋ฐ๋ฅด๋ ์์๋ค์ ๋ชจ์์ ํํ(tuple)์ด๋ผ๊ณ ํฉ๋๋ค. n๊ฐ์ ์์๋ฅผ ๊ฐ์ง ํํ์ n-ํํ(n-tuple)์ด๋ผ๊ณ ํ๋ฉฐ, ๋ค์๊ณผ ๊ฐ์ด ํํํ ์ ์์ต๋๋ค. (a1, a2, a3, ..., an) ํํ์ ๋ค์๊ณผ ๊ฐ์ ์ฑ์ง์ ๊ฐ์ง๊ณ ์์ต๋๋ค. ์ค๋ณต๋ ์์๊ฐ ์์ ์ ์์ต๋๋ค. ex : (2, 3, 1, 2) ์์์ ์ ํด์ง ์์๊ฐ ์์ผ๋ฉฐ, ์์์ ์์๊ฐ ๋ค๋ฅด๋ฉด ์๋ก ๋ค๋ฅธ ํํ์ ๋๋ค. ex : (1, 2, 3) ≠ (1, 3, 2) ํํ์ ์์ ๊ฐ์๋ ์ ํํฉ๋๋ค. ์์์ ๊ฐ์๊ฐ n๊ฐ์ด๊ณ , ์ค๋ณต๋๋ ์์๊ฐ ์๋ ํํ (a1, a2, a3, ....
[ํ๋ก๊ทธ๋๋จธ์ค]level.2 - ์ ์ฐ๊ธฐ(C++)
https://school.programmers.co.kr/learn/courses/30/lessons/140107 ๋ฌธ์ ์ค๋ช ์ขํํ๋ฉด์ ์ข์ํ๋ ์ง์๋ x์ถ๊ณผ y์ถ์ด ์ง๊ตํ๋ 2์ฐจ์ ์ขํํ๋ฉด์ ์ ์ ์ฐ์ผ๋ฉด์ ๋๊ณ ์์ต๋๋ค. ์ง์๋ ๋ ์์ ์ ์ k, d๊ฐ ์ฃผ์ด์ง ๋ ๋ค์๊ณผ ๊ฐ์ด ์ ์ ์ฐ์ผ๋ ค ํฉ๋๋ค. ์์ (0, 0)์ผ๋ก๋ถํฐ x์ถ ๋ฐฉํฅ์ผ๋ก a*k(a = 0, 1, 2, 3 ...), y์ถ ๋ฐฉํฅ์ผ๋ก b*k(b = 0, 1, 2, 3 ...)๋งํผ ๋จ์ด์ง ์์น์ ์ ์ ์ฐ์ต๋๋ค. ์์ ๊ณผ ๊ฑฐ๋ฆฌ๊ฐ d๋ฅผ ๋๋ ์์น์๋ ์ ์ ์ฐ์ง ์์ต๋๋ค. ์๋ฅผ ๋ค์ด, k๊ฐ 2, d๊ฐ 4์ธ ๊ฒฝ์ฐ์๋ (0, 0), (0, 2), (0, 4), (2, 0), (2, 2), (4, 0) ์์น์ ์ ์ ์ฐ์ด ์ด 6๊ฐ์ ์ ์ ์ฐ์ต๋๋ค. ์ ์ k์..