๐ฅ๏ธ Study Note/Coding Test
ํ๋ก๊ทธ๋๋จธ์ค / level.2 / ํฐ ์ ๋ง๋ค๊ธฐ(C++)
https://school.programmers.co.kr/learn/courses/30/lessons/42883 ๋ฌธ์ ์ค๋ช ์ด๋ค ์ซ์์์ k๊ฐ์ ์๋ฅผ ์ ๊ฑฐํ์ ๋ ์ป์ ์ ์๋ ๊ฐ์ฅ ํฐ ์ซ์๋ฅผ ๊ตฌํ๋ ค ํฉ๋๋ค. ์๋ฅผ ๋ค์ด, ์ซ์ 1924์์ ์ ๋ ๊ฐ๋ฅผ ์ ๊ฑฐํ๋ฉด [19, 12, 14, 92, 94, 24] ๋ฅผ ๋ง๋ค ์ ์์ต๋๋ค. ์ด ์ค ๊ฐ์ฅ ํฐ ์ซ์๋ 94 ์ ๋๋ค. ๋ฌธ์์ด ํ์์ผ๋ก ์ซ์ number์ ์ ๊ฑฐํ ์์ ๊ฐ์ k๊ฐ solution ํจ์์ ๋งค๊ฐ๋ณ์๋ก ์ฃผ์ด์ง๋๋ค. number์์ k ๊ฐ์ ์๋ฅผ ์ ๊ฑฐํ์ ๋ ๋ง๋ค ์ ์๋ ์ ์ค ๊ฐ์ฅ ํฐ ์ซ์๋ฅผ ๋ฌธ์์ด ํํ๋ก return ํ๋๋ก solution ํจ์๋ฅผ ์์ฑํ์ธ์. ์ ํ ์กฐ๊ฑด number๋ 2์๋ฆฌ ์ด์, 1,000,000์๋ฆฌ ์ดํ์ธ ์ซ์์ ๋๋ค. k๋ 1..
ํ๋ก๊ทธ๋๋จธ์ค / level.3 / ์์ดํ ์ค๊ธฐ(C++)
๋ด ํ์ด ์ฃผ์ด์ง ์ฌ๊ฐํ๋ค์ ๋ด๋ถ์ ํฌํจ๋์ง ์์ ์ธ๊ณฝ์ ์ ๋ฐ๋ผ DFS ํ์์ ํ์ฌ ๋ฌธ์ ๋ฅผ ํ์๋ค. ํ์ง๋ง ‘์ฌ๊ฐํ ๋ด๋ถ์ ํฌํจ๋์ง ์์ ์ธ๊ณฝ์ ’ ์ด๋ผ๋ ์กฐ๊ฑด์ ๋ฐ๋ผ 1์ฉ ์ด๋ํ๋ฉฐ ์ธ๊ณฝ์ ์ ํ์ํ๋ฉด ์๋์ ๊ฐ์ ์์ญ์์ ๋ฌธ์ ๊ฐ ์๊ธด๋ค. ๋ฐ๋ก ๊ฐ๊ฒฉ์ด 1์ด๋ฉด์ ์ธ๊ณฝ์ ์ผ๋ก ์ฐ๊ฒฐ๋์ง ์์ ์์ญ์ด๋ค. ์ด ์์ญ์ ์ธ๊ณฝ์ ์ผ๋ก ์ฐ๊ฒฐ๋์ง ์์์ง๋ง, ํ์ฌ ์์น์ ๊ฐ๊ฒฉ์ด 1์ด๋ฉด์ ์ฌ๊ฐํ ๋ด๋ถ์ ํฌํจ๋์ง ์์ ์ธ๊ณฝ์ ์ด๋ฏ๋ก ๋ด๊ฐ ์ค์ ํ ์กฐ๊ฑด์ ์ฐธ์ด ๋๋ค. ์ด๊ฒ์ ๋ฐฉ์งํ๊ธฐ ์ํด ์ขํ๊ฐ์ 2๋ฐฐ๋ก ํ ๋ค 1์ฉ ํ์ํ์๋ค. ์ด๋ ๊ฒ ํ๋ฉด ์๋ณธ์์ ์ธ๊ณฝ์ ์ผ๋ก ์ด์ด์ง์ง ์์ ์ขํ๋ฅผ ๊ตฌ๋ณํด๋ผ ์ ์๋ค. ๋ด ํด๋ต #include #include #include #include #include using namespace std; int solu..
ํ๋ก๊ทธ๋๋จธ์ค / level.3 / ์ฌํ๊ฒฝ๋ก(C++)
https://school.programmers.co.kr/learn/courses/30/lessons/43164 ๋ฌธ์ ์ค๋ช ์ฃผ์ด์ง ํญ๊ณต๊ถ์ ๋ชจ๋ ์ด์ฉํ์ฌ ์ฌํ๊ฒฝ๋ก๋ฅผ ์ง๋ ค๊ณ ํฉ๋๋ค. ํญ์ "ICN" ๊ณตํญ์์ ์ถ๋ฐํฉ๋๋ค. ํญ๊ณต๊ถ ์ ๋ณด๊ฐ ๋ด๊ธด 2์ฐจ์ ๋ฐฐ์ด tickets๊ฐ ๋งค๊ฐ๋ณ์๋ก ์ฃผ์ด์ง ๋, ๋ฐฉ๋ฌธํ๋ ๊ณตํญ ๊ฒฝ๋ก๋ฅผ ๋ฐฐ์ด์ ๋ด์ return ํ๋๋ก solution ํจ์๋ฅผ ์์ฑํด ์ฃผ์ธ์. ์ ํ์ฌํญ ๋ชจ๋ ๊ณตํญ์ ์ํ๋ฒณ ๋๋ฌธ์ 3๊ธ์๋ก ์ด๋ฃจ์ด์ง๋๋ค. ์ฃผ์ด์ง ๊ณตํญ ์๋ 3๊ฐ ์ด์ 10,000๊ฐ ์ดํ์ ๋๋ค. tickets์ ๊ฐ ํ [a, b]๋ a ๊ณตํญ์์ b ๊ณตํญ์ผ๋ก ๊ฐ๋ ํญ๊ณต๊ถ์ด ์๋ค๋ ์๋ฏธ์ ๋๋ค. ์ฃผ์ด์ง ํญ๊ณต๊ถ์ ๋ชจ๋ ์ฌ์ฉํด์ผ ํฉ๋๋ค. ๋ง์ผ ๊ฐ๋ฅํ ๊ฒฝ๋ก๊ฐ 2๊ฐ ์ด์์ผ ๊ฒฝ์ฐ ์ํ๋ฒณ ์์๊ฐ ์์๋ ๊ฒฝ๋ก๋ฅผ return..
ํ๋ก๊ทธ๋๋จธ์ค / level.3 / ๋จ์ด ๋ณํ(C++)
https://school.programmers.co.kr/learn/courses/30/lessons/43163 ๋ฌธ์ ์ค๋ช ๋ ๊ฐ์ ๋จ์ด begin, target๊ณผ ๋จ์ด์ ์งํฉ words๊ฐ ์์ต๋๋ค. ์๋์ ๊ฐ์ ๊ท์น์ ์ด์ฉํ์ฌ begin์์ target์ผ๋ก ๋ณํํ๋ ๊ฐ์ฅ ์งง์ ๋ณํ ๊ณผ์ ์ ์ฐพ์ผ๋ ค๊ณ ํฉ๋๋ค. 1. ํ ๋ฒ์ ํ ๊ฐ์ ์ํ๋ฒณ๋ง ๋ฐ๊ฟ ์ ์์ต๋๋ค. 2. words์ ์๋ ๋จ์ด๋ก๋ง ๋ณํํ ์ ์์ต๋๋ค. ์๋ฅผ ๋ค์ด begin์ด "hit", target๊ฐ "cog", words๊ฐ ["hot","dot","dog","lot","log","cog"]๋ผ๋ฉด "hit" -> "hot" -> "dot" -> "dog" -> "cog"์ ๊ฐ์ด 4๋จ๊ณ๋ฅผ ๊ฑฐ์ณ ๋ณํํ ์ ์์ต๋๋ค. ๋ ๊ฐ์ ๋จ์ด begin, ta..
ํ๋ก๊ทธ๋๋จธ์ค / level.2 / ๊ฒ์ ๋งต ์ต๋จ๊ฑฐ๋ฆฌ(C++)
https://school.programmers.co.kr/learn/courses/30/lessons/1844 ๋ฌธ์ ์ค๋ช ROR ๊ฒ์์ ๋ ํ์ผ๋ก ๋๋์ด์ ์งํํ๋ฉฐ, ์๋ ํ ์ง์์ ๋จผ์ ํ๊ดดํ๋ฉด ์ด๊ธฐ๋ ๊ฒ์์ ๋๋ค. ๋ฐ๋ผ์, ๊ฐ ํ์ ์๋ ํ ์ง์์ ์ต๋ํ ๋นจ๋ฆฌ ๋์ฐฉํ๋ ๊ฒ์ด ์ ๋ฆฌํฉ๋๋ค. ์ง๊ธ๋ถํฐ ๋น์ ์ ํ ํ์ ํ์์ด ๋์ด ๊ฒ์์ ์งํํ๋ ค๊ณ ํฉ๋๋ค. ๋ค์์ 5 x 5 ํฌ๊ธฐ์ ๋งต์, ๋น์ ์ ์บ๋ฆญํฐ๊ฐ (ํ: 1, ์ด: 1) ์์น์ ์๊ณ , ์๋ ํ ์ง์์ (ํ: 5, ์ด: 5) ์์น์ ์๋ ๊ฒฝ์ฐ์ ์์์ ๋๋ค. ์ ๊ทธ๋ฆผ์์ ๊ฒ์์ ๋ถ๋ถ์ ๋ฒฝ์ผ๋ก ๋งํ์์ด ๊ฐ ์ ์๋ ๊ธธ์ด๋ฉฐ, ํฐ์ ๋ถ๋ถ์ ๊ฐ ์ ์๋ ๊ธธ์ ๋๋ค. ์บ๋ฆญํฐ๊ฐ ์์ง์ผ ๋๋ ๋, ์, ๋จ, ๋ถ ๋ฐฉํฅ์ผ๋ก ํ ์นธ์ฉ ์ด๋ํ๋ฉฐ, ๊ฒ์ ๋งต์ ๋ฒ์ด๋ ๊ธธ์ ๊ฐ ์..