์ฝ๋ฉํ ์คํธ
[PGM_12985] ์์ ๋์งํ (java)
๋ฌธ์ ๋งํฌ https://programmers.co.kr/learn/courses/30/lessons/12985 ์ฝ๋ฉํ ์คํธ ์ฐ์ต - ์์ ๋์งํ โณโณ ๊ฒ์๋ํ๊ฐ ๊ฐ์ต๋์์ต๋๋ค. ์ด ๋ํ๋ N๋ช ์ด ์ฐธ๊ฐํ๊ณ , ํ ๋๋จผํธ ํ์์ผ๋ก ์งํ๋ฉ๋๋ค. N๋ช ์ ์ฐธ๊ฐ์๋ ๊ฐ๊ฐ 1๋ถํฐ N๋ฒ์ ์ฐจ๋ก๋๋ก ๋ฐฐ์ ๋ฐ์ต๋๋ค. ๊ทธ๋ฆฌ๊ณ , 1๋ฒ↔2๋ฒ, 3๋ฒ↔4๋ฒ, ... , N-1๋ฒ↔N programmers.co.kr ๋ฌธ์ ํ์ด ๐จ๐ป๐ป ํต์ฌ ์คํฌ ๐จ๐ป๐ป ์ํ 1. ๋ฌธ์ ์ดํด ํ ๋๋จผํธ๋ก ๊ฒฝ๊ธฐ๋ฅผ ์งํํ๊ฒ ๋๋ค. ์ด ๋ ํ ๋๋จผํธ ๊ฒ์์ 1 vs 2, 3 vs 4, 5 vs 6 ... ๋ก ์งํ๋๋ฉฐ 1 vs 2์ ์น์์ 3 vs 4์ ์น์๊ฐ ๋ค์ ํ ๋๋จผํธ์์ ๊ฒฝ๊ธฐ๋ฅผ ์งํํ๋ ๋ฐฉ์์ด๋ค. ํ ๋๋จผํธ๋ฅผ ์งํํ๋ ์ฌ๋์ ์ n๊ณผ ๋ ๋ช ์ ์ ์์ ๋ฒํธ a, b..
[pgm_67257] ์์ ์ต๋ํ (java)
๋ฌธ์ ๋งํฌ https://programmers.co.kr/learn/courses/30/lessons/67257 ์ฝ๋ฉํ ์คํธ ์ฐ์ต - ์์ ์ต๋ํ IT ๋ฒค์ฒ ํ์ฌ๋ฅผ ์ด์ํ๊ณ ์๋ ๋ผ์ด์ธ์ ๋งค๋ ์ฌ๋ด ํด์ปคํค ๋ํ๋ฅผ ๊ฐ์ตํ์ฌ ์ฐ์น์์๊ฒ ์๊ธ์ ์ง๊ธํ๊ณ ์์ต๋๋ค. ์ด๋ฒ ๋ํ์์๋ ์ฐ์น์์๊ฒ ์ง๊ธ๋๋ ์๊ธ์ ์ด์ ๋ํ์๋ ๋ค๋ฅด๊ฒ ๋ค์๊ณผ programmers.co.kr ๋ฌธ์ ํ์ด ๐จ๐ป๐ป ํต์ฌ ์คํฌ ๐จ๐ป๐ป Deque + ์ - ๊ทธ๋ฆฌ๊ณ * ์ธ๊ฐ์ ์ฐ์ฐ์์ ์ฐ์ ์์๋ฅผ ์๋ก ๋ค๋ฅด๊ฒ ํ์ฌ ๊ณ์ฐํ ๊ฒฐ๊ณผ์ ์ ๋๊ฐ์ด ์ต๋๊ฐ ๋๋ ๊ฐ์ ์ฐพ๋ ๋ฌธ์ ์ด๋ค. ์ฐ์ฐ์ 3๊ฐ์ ๋ํ ์๋ก ๋ค๋ฅธ ์ฐ์ ์์๊ฐ ์๋ ๊ฒฝ์ฐ์ ์๋ 6๊ฐ์ง ๋ฐ์ ์์ผ๋ฏ๋ก ๋ชจ๋ ๊ฒฝ์ฐ๋ฅผ ๊ณ์ฐํด์ฃผ๊ณ ์ต๋๊ฐ์ ๊ตฌํด์ฃผ์๋ค. ์ด๋ ์๋ฃ๊ตฌ์กฐ๋ Deque๋ฅผ ์ฌ์ฉํด์ฃผ์๋ค.Deque๋ Q..
[PGM_81302] ๊ฑฐ๋ฆฌ๋๊ธฐ ํ์ธํ๊ธฐ (java)
๋ฌธ์ ๋งํฌ https://programmers.co.kr/learn/courses/30/lessons/81302 ์ฝ๋ฉํ ์คํธ ์ฐ์ต - ๊ฑฐ๋ฆฌ๋๊ธฐ ํ์ธํ๊ธฐ [["POOOP", "OXXOX", "OPXPX", "OOXOX", "POXXP"], ["POOPX", "OXPXP", "PXXXO", "OXXXO", "OOOPP"], ["PXOPX", "OXOXP", "OXPOX", "OXXOP", "PXPOX"], ["OOOXX", "XOOOX", "OOOXX", "OXOOX", "OOOOO"], ["PXPXP", "XPXPX", "PXPXP", "XPXPX", "PXPXP"]] [1, 0, 1, 1, 1] programmers.co.kr ๋ฌธ์ ํ์ด ๐จ๐ป๐ป ํต์ฌ ์คํฌ ๐จ๐ป๐ป ๋ธ๋ฃจํธํฌ์ค ์ด ๋ฌธ์ ๋ 5๊ฐ์ ๋ฐฉ์ 5x5๋ก ..
[PGM_17677] ๋ด์ค ํด๋ฌ์คํฐ๋ง (java)
๋ฌธ์ ๋งํฌ https://programmers.co.kr/learn/courses/30/lessons/17677 ์ฝ๋ฉํ ์คํธ ์ฐ์ต - [1์ฐจ] ๋ด์ค ํด๋ฌ์คํฐ๋ง ๋ด์ค ํด๋ฌ์คํฐ๋ง ์ฌ๋ฌ ์ธ๋ก ์ฌ์์ ์์์ง๋ ๋ด์ค, ํนํ ์๋ณด์ฑ ๋ด์ค๋ฅผ ๋ณด๋ฉด ๋น์ท๋น์ทํ ์ ๋ชฉ์ ๊ธฐ์ฌ๊ฐ ๋ง์ ์ ์ ํ์ํ ๊ธฐ์ฌ๋ฅผ ์ฐพ๊ธฐ๊ฐ ์ด๋ ต๋ค. Daum ๋ด์ค์ ๊ฐ๋ฐ ์ ๋ฌด๋ฅผ ๋งก๊ฒ ๋ ์ ์ ์ฌ์ ํ๋ธ programmers.co.kr ๋ฌธ์ ํ์ด ๐จ๐ป๐ป ํต์ฌ ์คํฌ ๐จ๐ป๐ป ์๋ฃ๊ตฌ์กฐ Map์ ์ฌ์ฉ ์ด ๋ฌธ์ ๋ 2๊ฐ์ ๋ฌธ์์ด์ ๋ํ์ฌ 2๋ฌธ์์ฉ ์ฐ์ํ๋ ๊ฐ์ผ๋ก ๋ฌธ์์ด ์งํฉ์ ๊ตฌ์ฑํ๋ค. 2๊ฐ์ ์งํฉ์ ๋ํ์ฌ ๊ต์งํฉ์ ํฉ์งํฉ์ผ๋ก ๋๋ ๊ฐ์ 65536์ ๊ณฑํ๊ณ ์์์ ์ ๋ฒ๋ ค์ ๋ฝ์๋ด๋ ๋ฌธ์ ์ด๋ค. ์งํฉ๊ณผ ๋ค๋ฅธ์ ์ ์ค๋ณต์ ํ์ฉํ๋ค๋ ์ ์ด๋ค. ๋ฐ๋ผ์ Map์ผ๋ก ์งํฉ์ ํํํด์ฃผ์๋ค...
[PGM_72411] ๋ฉ๋ด ๋ฆฌ๋ด์ผ (java)
๋ฌธ์ ๋งํฌ https://programmers.co.kr/learn/courses/30/lessons/72411 ์ฝ๋ฉํ ์คํธ ์ฐ์ต - ๋ฉ๋ด ๋ฆฌ๋ด์ผ ๋ ์คํ ๋์ ์ด์ํ๋ ์ค์นดํผ๋ ์ฝ๋ก๋19๋ก ์ธํ ๋ถ๊ฒฝ๊ธฐ๋ฅผ ๊ทน๋ณตํ๊ณ ์ ๋ฉ๋ด๋ฅผ ์๋ก ๊ตฌ์ฑํ๋ ค๊ณ ๊ณ ๋ฏผํ๊ณ ์์ต๋๋ค. ๊ธฐ์กด์๋ ๋จํ์ผ๋ก๋ง ์ ๊ณตํ๋ ๋ฉ๋ด๋ฅผ ์กฐํฉํด์ ์ฝ์ค์๋ฆฌ ํํ๋ก ์ฌ๊ตฌ์ฑํด์ programmers.co.kr ๋ฌธ์ ํ์ด ๐จ๐ป๐ป ํต์ฌ ์คํฌ ๐จ๐ป๐ป ๋ธ๋ฃจํธํฌ์ค ์ฌ๋๋ค์ ์ฃผ๋ฌธ๋ด์ญ์ด ์ ๋ ฅ์ผ๋ก ๋ค์ด์จ๋ค. ๊ทธ ์ฃผ๋ฌธ๋ด์ญ์์ ํจ๊ป ์ํจ ๋จํ ๋ฉ๋ด๋ค์ ํ์ธํ์ฌ, ๊ฐ์ฅ ๋ง์ด ํจ๊ป ์ํจ ๋ฉ๋ด๋ค์ ๋ฌถ์ด ์ธํธ๋ฉ๋ด๋ฅผ ๋ง๋ค์ด์ฃผ๋ ๋ฌธ์ ์ด๋ค. ์ธํธ๋ฉ๋ด์ ๋จํ๋ฉ๋ด์ ๊ฐ์๋ ์ ๋ ฅ์ผ๋ก ์ฃผ์ด์ง๊ฒ ๋๋ค. ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํ์ฌ, ๊ฐ ์ฌ๋๋ค์ด ๋ฉ๋ด๋ฅผ n๊ฐ์ง์ฉ ๋ฝ๋ ๊ฒฝ์ฐ์ ์๋ฅผ ๋ชจ๋ ๊ตฌํ๋ ๋ฉ์๋๋ฅผ ๊ตฌ..
[PGM_77485] ํ๋ ฌ ํ ๋๋ฆฌ ํ์ ํ๊ธฐ (java)
๋ฌธ์ ๋งํฌ https://programmers.co.kr/learn/courses/30/lessons/77485 ์ฝ๋ฉํ ์คํธ ์ฐ์ต - ํ๋ ฌ ํ ๋๋ฆฌ ํ์ ํ๊ธฐ 6 6 [[2,2,5,4],[3,3,6,6],[5,1,6,3]] [8, 10, 25] 3 3 [[1,1,2,2],[1,2,2,3],[2,1,3,2],[2,2,3,3]] [1, 1, 5, 3] programmers.co.kr ๋ฌธ์ ํ์ด ๐จ๐ป๐ป ํต์ฌ ์คํฌ ๐จ๐ป๐ป ๊ตฌํ ์ฟผ๋ฆฌ๊ฐ ์ฃผ์ด์ง๋ฉด ๊ทธ ์ฟผ๋ฆฌ์ ๋ง์ถ์ด ํ๋ ฌ์ ํ ๋๋ฆฌ ๋ถ๋ถ์ ์๊ณ๋ฐฉํฅ์ผ๋ก ๋๋ ค์ฃผ๊ฒ ๋๋ค. ๊ทธ๋ฆฌ๊ณ ๊ทธ ๊ฐ๋ค์ค์ ์ต์๊ฐ์ ์ฐพ๋ ๋ฌธ์ ์ด๋ค. ์ฟผ๋ฆฌ๋ x1,x2,y1,y2๋ก ์ฃผ์ด์ง๊ฒ ๋๋ค. ํ๋ ฌ์ 1ํ 1์ด๋ถํฐ 1๋ถํฐ ์ฑ์์ง๋ ๊ฐ์ด๋ค. ๋ฌธ์ ์ ์๋ ์์๋ฅผ ๋ณด๋ฉด ํ๋ ฌ์ 6x6 ํ๋ ฌ์ด๋ฉฐ (2,2,5,4)์ ์ฟผ๋ฆฌ..
[PGM_42626] ๋ ๋งต๊ฒ (Java)
๋ฌธ์ ๋งํฌ https://programmers.co.kr/learn/courses/30/lessons/42626# ์ฝ๋ฉํ ์คํธ ์ฐ์ต - ๋ ๋งต๊ฒ ๋งค์ด ๊ฒ์ ์ข์ํ๋ Leo๋ ๋ชจ๋ ์์์ ์ค์ฝ๋น ์ง์๋ฅผ K ์ด์์ผ๋ก ๋ง๋ค๊ณ ์ถ์ต๋๋ค. ๋ชจ๋ ์์์ ์ค์ฝ๋น ์ง์๋ฅผ K ์ด์์ผ๋ก ๋ง๋ค๊ธฐ ์ํด Leo๋ ์ค์ฝ๋น ์ง์๊ฐ ๊ฐ์ฅ ๋ฎ์ ๋ ๊ฐ์ ์์์ ์๋์ ๊ฐ programmers.co.kr ๋ฌธ์ ํ์ด ๐จ๐ป๐ป ํต์ฌ ์คํฌ ๐จ๐ป๐ป Heap ์ฒ์์๋ ๊ทธ๋ฅ ๋จ์ํ๊ฒ ์ด๊ธฐ ์ ๋ ฌ ํ ์ฝ์ ์ ๋ ฌ๋ก ๊ฐ์ ๊ณ์ ๋ฃ์ด์ฃผ์๋๋ฐ ํจ์จ์ฑ์์ 0์ ์ ๋ฐ์๋ค. ๊ณฐ๊ณฐํ ์๊ฐํด๋ณด๋ ์ ์ ํ ์๋ฃ๊ตฌ์กฐ๋ก Heap์ ์ฌ์ฉํ๋ฉด ๋๊ฒ ๋ค๊ณ ์๊ฐ๋์ด Heap์ ์ฌ์ฉํด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํด ์ฃผ์๋ค. ๋ ๋งต๊ฒ ๋ฌธ์ ๋ ๋งค์ด๋ง์ ๋ํ ๋ฐฐ์ด๊ณผ ๋งค์ด ๊ฐ๋ K๊ฐ์ด input์ผ๋ก ์ฃผ์ด์ง๋ค. ..
[PGM_42586] ๊ธฐ๋ฅ๊ฐ๋ฐ (java)
๋ฌธ์ ๋งํฌ https://programmers.co.kr/learn/courses/30/lessons/42586 ์ฝ๋ฉํ ์คํธ ์ฐ์ต - ๊ธฐ๋ฅ๊ฐ๋ฐ ํ๋ก๊ทธ๋๋จธ์ค ํ์์๋ ๊ธฐ๋ฅ ๊ฐ์ ์์ ์ ์ํ ์ค์ ๋๋ค. ๊ฐ ๊ธฐ๋ฅ์ ์ง๋๊ฐ 100%์ผ ๋ ์๋น์ค์ ๋ฐ์ํ ์ ์์ต๋๋ค. ๋, ๊ฐ ๊ธฐ๋ฅ์ ๊ฐ๋ฐ์๋๋ ๋ชจ๋ ๋ค๋ฅด๊ธฐ ๋๋ฌธ์ ๋ค์ ์๋ ๊ธฐ๋ฅ์ด ์์ ์๋ programmers.co.kr ๋ฌธ์ ํ์ด ๐จ๐ป๐ป ํต์ฌ ์คํฌ ๐จ๐ป๐ป ๊ตฌํ ๊ธฐ๋ฅ์ ๊ตฌํ์ ํ๊ณ ๊ธฐ๋ฅ์ด ๊ตฌํ์ด ์๋ฃ๋๋ฉด ์ ๋ฐ์ดํธ๋ฅผ ์ํํ๋ค. ์ด ๋, ๊ธฐ๋ฅ์ ์์๊ฐ ์์ผ๋ฉฐ ์์ ๊ธฐ๋ฅ์ด ๊ตฌํ์ด ๋์ง ์์๋ค๋ฉด ๋ค์ ๊ธฐ๋ฅ์ด ๊ตฌํ์ด ๋์ด๋ ๋ฐฐํฌ๊ฐ๋ ์ ์๋ค. ์ ๋ ฅ์ผ๋ก ๊ธฐ๋ฅ์ ์์์ ์งํ๋ ๊ทธ๋ฆฌ๊ณ ๊ฐ ๊ธฐ๋ฅ๋ณ ๊ตฌํํ๋ ์๋๊ฐ ์ฃผ์ด์ง๋ค. ๊ธฐ๋ฅ์ด ๋ฐฐํฌ๊ฐ ๋ ๋ ๋ช๊ฐ์ ๊ธฐ๋ฅ์ด ํ๋ฒ์ ๋ฐฐํฌ๊ฐ ๋๋..
[์นด์นด์ค] ๋จ์ฒด์ฌ์ง์ฐ๊ธฐ (java)
๋ฌธ์ ๋งํฌ https://programmers.co.kr/learn/courses/30/lessons/1835 ์ฝ๋ฉํ ์คํธ ์ฐ์ต - ๋จ์ฒด์ฌ์ง ์ฐ๊ธฐ ๋จ์ฒด์ฌ์ง ์ฐ๊ธฐ ๊ฐ์์ ๋ง์ ์นด์นด์คํ๋ ์ฆ๋ ๋จ์ฒด๋ก ์ํ์ ๋ ๋ฌ๋ค. ์ฆ๊ฑฐ์ด ์๊ฐ์ ๋ณด๋ด๊ณ ๋ง์ง๋ง์ ๋จ์ฒด์ฌ์ง์ ์ฐ๊ธฐ ์ํด ์นด๋ฉ๋ผ ์์ ์ผ๋ ฌ๋ก ๋๋ํ ์ฐ๋ค. ๊ทธ๋ฐ๋ฐ ๊ฐ์๊ฐ ์ํ๋ ๋ฐฐ์น๊ฐ ๋ชจ๋ programmers.co.kr ๋ฌธ์ ํ์ด ๐จ๐ป๐ป ํต์ฌ ์คํฌ ๐จ๐ป๐ป ๋ธ๋ฃจํธํฌ์ค ์์ด ์นด์นด์ค ํ๋ ์ฆ ์บ๋ฆญํฐ 8๋ช ์ด ์ํ๋ ์์๋๋ก ์ฌ์ง์ ์ฐ์ ์ ์๋ ํ์๋ฅผ ๊ตฌํ๋ ๋ฌธ์ ์ด๋ค. ์บ๋ฆญํฐ๊ฐ ์์๋๋ก ์๋ ๊ฒฝ์ฐ์์๋ 8!์ด๋ฉฐ ์ต๋๋ก ๋ค์ด์ฌ ์ ์๋ ์กฐ๊ฑด์ด 100๊ฐ์ด๋ค. ๋ฐ๋ผ์ ์ต์ ์ ๊ฒฝ์ฐ $O(8!*100)$์ ์๊ฐ์ด ๊ฑธ๋ฆฌ๊ฒ ๋๋ค. ๋ฐ๋ผ์, ๋ธ๋ฃจํธํฌ์ค๋ก ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ ์ ์๋ค. ์์ด๋ก ๋ฌธ..
[์นด์นด์ค] ์คํ์ฑํ ๋ฐฉ (java)
๋ฌธ์ ๋งํฌ ์ฝ๋ฉํ ์คํธ ์ฐ์ต - ์คํ์ฑํ ๋ฐฉ ์คํ์ฑํ ๋ฐฉ ์นด์นด์คํก ์คํ์ฑํ ๋ฐฉ์์๋ ์น๊ตฌ๊ฐ ์๋ ์ฌ๋๋ค๊ณผ ๋ํ๋ฅผ ํ ์ ์๋๋ฐ, ๋ณธ๋ ๋๋ค์์ด ์๋ ๊ฐ์์ ๋๋ค์์ ์ฌ์ฉํ์ฌ ์ฑํ ๋ฐฉ์ ๋ค์ด๊ฐ ์ ์๋ค. ์ ์ ์ฌ์์ธ ๊นํฌ๋ฃจ๋ ์นด์นด์คํก ์ค programmers.co.kr ๋ฌธ์ ํ์ด ๐จ๐ป๐ป ํต์ฌ ์คํฌ ๐จ๐ป๐ป Map, ๊ตฌํ ์นด์นด์ค ์คํ์ฑํ ๋ฐฉ์ ์ ์ฅ๊ณผ ํด์ฅ์ ๋ก๊ทธ๋ฅผ ๋ฆฌํดํด์ฃผ๋ ๋ฌธ์ ์ด๋ค. ๋๋ค์์ ๋ณ๊ฒฝํ๋ ๊ฒฝ์ฐ์๋ ๊ณผ๊ฑฐ์ ์ ์ฅ ๋ฐ ํด์ฅ์ ๋๋ค์๋ ๋ณ๊ฒฝํด์ฃผ์ด์ผ ํ๋ค. ๋๋ค์์ ๋ณ๊ฒฝํ๋ ๋ฐฉ๋ฒ์ ๋ค์ ์ ์ฅ์ ํน์ ๋ฐฉ ์์์ ๋ณ๊ฒฝ์ด ๊ฐ๋ฅํ๋ค. ๋๋ค์์ Map์ ํ์ฉํ์ฌ id์ ๋๋ค์์ ๋งคํ์์ผ์ฃผ์๋ค. ๋ชจ๋ record๋ฅผ ํ์ธํ์ฌ ์ถ๋ ฅํด์ฃผ์ด์ผํ log๋ ๊ฐ๋ณ๋ฐฐ์ด์ธ ArrayList๋ฅผ ์ฌ์ฉํด์ ๋ฃ์ด์ฃผ์๊ณ , ๋๋ค์์ด ๋ณ๊ฒฝ๋ ์ ์๋ ๊ฒฝ์ฐ..
[์นด์นด์ค] ์ ๊ณ ๊ฒฐ๊ณผ ๋ฐ๊ธฐ (java)
๋ฌธ์ ๋งํฌ ์ฝ๋ฉํ ์คํธ ์ฐ์ต - ์ ๊ณ ๊ฒฐ๊ณผ ๋ฐ๊ธฐ ๋ฌธ์ ์ค๋ช ์ ์ ์ฌ์ ๋ฌด์ง๋ ๊ฒ์ํ ๋ถ๋ ์ด์ฉ์๋ฅผ ์ ๊ณ ํ๊ณ ์ฒ๋ฆฌ ๊ฒฐ๊ณผ๋ฅผ ๋ฉ์ผ๋ก ๋ฐ์กํ๋ ์์คํ ์ ๊ฐ๋ฐํ๋ ค ํฉ๋๋ค. ๋ฌด์ง๊ฐ ๊ฐ๋ฐํ๋ ค๋ ์์คํ ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค. ๊ฐ ์ ์ ๋ ํ ๋ฒ์ ํ ๋ช ์ programmers.co.kr ๋ฌธ์ ํ์ด ๐จ๐ป๐ป ํต์ฌ ์คํฌ ๐จ๐ป๐ป Set(์งํฉ) ์ ๊ณ ๊ฒฐ๊ณผ ๋ฐ๊ธฐ ๋ฌธ์ ๋ ์ ์ ๋ค์ด ์ ๊ณ ๋ฅผ ํ๋ ์ ๋ณด๋ฅผ ํ์ธํ๊ณ ์ ๊ณ ๋ฅผ ๋นํ ํ์๊ฐ k ์ด์์ผ ๊ฒฝ์ฐ ์ ์ง๋ฅผ ์ฃผ๊ฒ ๋๋๋ฐ, ๊ทธ ๋ ์ ์ง๋ฅผ ๋ฐ์ ์ ์ ๋ฅผ ์ ๊ณ ํ ์ ์ ์๊ฒ ์๋์ ์ค๋ค๋ฉด ์๋์ ๋ฐ์ ํ์๋ฅผ ํ์ธํ๋ ๋ฌธ์ ์ด๋ค. ์ด ๋ ํ ์ ์ ๊ฐ ๋์ผํ ์ฌ๋์ ์ค๋ณต์ผ๋ก ์ ๊ณ ํ๋ฉด ํ๋ฒ์ผ๋ก ์ฒ๋ฆฌ๋ฅผ ํด์ผํ๋ค. ์ด ์กฐ๊ฑด์ ๋ง์กฑ์ํค๊ธฐ ์ํ์ฌ ๋๋ ์งํฉ์ ์ฌ์ฉํ์ฌ ๊ตฌํํ์๋ค. ์งํฉ์ ๋ฐ์ดํฐ๋ฅผ ์ค๋ณต์์ด ํ๊ฐ์ฉ๋ง ๊ฐ์ง๊ณ ์..
[BOJ_16197] ๋ ๋์ (java)
๋ฌธ์ ๋งํฌ https://www.acmicpc.net/problem/16197 16197๋ฒ: ๋ ๋์ N×M ํฌ๊ธฐ์ ๋ณด๋์ 4๊ฐ์ ๋ฒํผ์ผ๋ก ์ด๋ฃจ์ด์ง ๊ฒ์์ด ์๋ค. ๋ณด๋๋ 1×1ํฌ๊ธฐ์ ์ ์ฌ๊ฐํ ์นธ์ผ๋ก ๋๋์ด์ ธ ์๊ณ , ๊ฐ๊ฐ์ ์นธ์ ๋น์ด์๊ฑฐ๋, ๋ฒฝ์ด๋ค. ๋ ๊ฐ์ ๋น ์นธ์๋ ๋์ ์ด ํ๋์ฉ ๋์ฌ์ ธ ์๊ณ , www.acmicpc.net ๋ฌธ์ ํ์ด ๐จ๐ป๐ป ํต์ฌ ์คํฌ ๐จ๐ป๐ป ๋ธ๋ฃจํธํฌ์ค, ์ฌ๊ท ๋ฌธ์ ๋ ๋ ๋์ ์ ๋ณด๋ํ์ ์ฌ๋ ค๋๊ณ ์ํ์ข์ฐ ์ค ํ ๊ณณ์ผ๋ก ์ด๋์์ผ ์ฃผ์ด ํ๋์ ๋์ ๋ง ๋จ์ด๋จ๋ฆฌ๋ ๋ฐฉ๋ฒ์ ๊ตฌํ๋ ๋ฌธ์ ์ด๋ค. ๋จ, ๋์ ์ด ์์ง์ผ ๋ ๋ฒฝ์ ๋ง๋๊ฒ ๋๋ฉด ์์ง์ด์ง ๋ชปํ๋ฉฐ, ๊ทธ ์ธ์ ๊ฒฝ์ฐ์๋ ๋ชจ๋ ์์ง์ฌ ์ค ์ ์๋ค. ๋จ์ด์ง๋ ๊ฒฝ์ฐ๋ ๋์ ์ด ๋ณด๋์ ๋ฐฐ์ด ๋ฐ์ผ๋ก ๋๊ฐ๋(๋ฒ์๋ฅผ ๋ฒ์ด๋๋) ๊ฒฝ์ฐ๊ฐ ๋๋ค. ์ด ๋ฌธ์ ๋ฅผ ๋ธ๋ฃจํธํฌ์ค๋ก ..
BOJ_14888 ์ฐ์ฐ์ ๋ผ์๋ฃ๊ธฐ (Java)
๋ฌธ์ ๋งํฌ https://www.acmicpc.net/problem/14888 14888๋ฒ: ์ฐ์ฐ์ ๋ผ์๋ฃ๊ธฐ ์ฒซ์งธ ์ค์ ์์ ๊ฐ์ N(2 ≤ N ≤ 11)๊ฐ ์ฃผ์ด์ง๋ค. ๋์งธ ์ค์๋ A1, A2, ..., AN์ด ์ฃผ์ด์ง๋ค. (1 ≤ Ai ≤ 100) ์ ์งธ ์ค์๋ ํฉ์ด N-1์ธ 4๊ฐ์ ์ ์๊ฐ ์ฃผ์ด์ง๋๋ฐ, ์ฐจ๋ก๋๋ก ๋ง์ (+)์ ๊ฐ์, ๋บ์ (-)์ ๊ฐ์, www.acmicpc.net ๋ฌธ์ ํ์ด ๐จ๐ป๐ป ํต์ฌ ์คํฌ ๐จ๐ป๐ป ๋ธ๋ฃจํธํฌ์ค ์ฐ์ฐ์๋ฅผ ๋ผ์ ๋ฃ๋ ๋ฌธ์ ๋ ๋ธ๋ฃจํธํฌ์ค๋ก ํด๊ฒฐํ์๋ค. ์ฐ์ฐ์์ ๊ฐ์๋ ์ซ์ ๋ฐฐ์ด์ ํฌ๊ธฐ -1 ์ด๋ฏ๋ก ์ต๋ 10๊ฐ์ด๋ค. 10๊ฐ๋ฅผ ์์๋ฅผ ๊ณ ๋ คํ์ฌ ๋์ดํ๋ ๋ฐฉ๋ฒ์ ์ต๋ 10!์ด๋ฏ๋ก ์๊ฐ์ด๊ณผ ์์ด ํด๊ฒฐํ ์ ์๋ค. ๋ฐ๋ผ์, ๋ง๋ค์ ์๋ ๋ชจ๋ ์ฐ์ฐ์์ ๊ฒฝ์ฐ์์๋ฅผ ๋ง๋ค์ด์ค ๋ค ๊ณ์ฐํด ์ฃผ๋ฉด ์ฝ๊ฒ ํด..
[backjoon_2225] ํฉ๋ถํด (Java)
๋ฌธ์ ๋งํฌ https://www.acmicpc.net/problem/2225 2225๋ฒ: ํฉ๋ถํด ์ฒซ์งธ ์ค์ ๋ต์ 1,000,000,000์ผ๋ก ๋๋ ๋๋จธ์ง๋ฅผ ์ถ๋ ฅํ๋ค. www.acmicpc.net ๋ฌธ์ ์ค๋ช ๋๋ณด๊ธฐ ๋๋ณด๊ธฐ ๋ฌธ์ 0๋ถํฐ N๊น์ง์ ์ ์ K๊ฐ๋ฅผ ๋ํด์ ๊ทธ ํฉ์ด N์ด ๋๋ ๊ฒฝ์ฐ์ ์๋ฅผ ๊ตฌํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์์ค. ๋ง์ ์ ์์๊ฐ ๋ฐ๋ ๊ฒฝ์ฐ๋ ๋ค๋ฅธ ๊ฒฝ์ฐ๋ก ์ผ๋ค(1+2์ 2+1์ ์๋ก ๋ค๋ฅธ ๊ฒฝ์ฐ). ๋ํ ํ ๊ฐ์ ์๋ฅผ ์ฌ๋ฌ ๋ฒ ์ธ ์๋ ์๋ค. ์ ๋ ฅ ์ฒซ์งธ ์ค์ ๋ ์ ์ N(1 ≤ N ≤ 200), K(1 ≤ K ≤ 200)๊ฐ ์ฃผ์ด์ง๋ค. ์ถ๋ ฅ ์ฒซ์งธ ์ค์ ๋ต์ 1,000,000,000์ผ๋ก ๋๋ ๋๋จธ์ง๋ฅผ ์ถ๋ ฅํ๋ค. ์ ํ์ฌํญ ์ ํ์๊ฐ ๋ฉ๋ชจ๋ฆฌ์ ํ 2์ด 128MB * ์ถ์ฒ : https://www.acmicpc.ne..
[Backjoon_4375] 1 (Java)
๋ฌธ์ ๋งํฌ https://www.acmicpc.net/problem/4375 4375๋ฒ: 1 2์ 5๋ก ๋๋์ด ๋จ์ด์ง์ง ์๋ ์ ์ n(1 ≤ n ≤ 10000)๊ฐ ์ฃผ์ด์ก์ ๋, 1๋ก๋ง ์ด๋ฃจ์ด์ง n์ ๋ฐฐ์๋ฅผ ์ฐพ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์์ค. www.acmicpc.net ๋ฌธ์ ์์ฝ ๋๋ณด๊ธฐ ๋๋ณด๊ธฐ ๋๋ณด๊ธฐ 2์ 5๋ก ๋๋์ด ๋จ์ด์ง์ง ์๋ ์ ์ n(1 ≤ n ≤ 10000)๊ฐ ์ฃผ์ด์ก์ ๋, 1๋ก๋ง ์ด๋ฃจ์ด์ง n์ ๋ฐฐ์๋ฅผ ์ฐพ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ๋ค. ์ ๋ ฅ์ ์ฌ๋ฌ ๊ฐ์ ํ ์คํธ ์ผ์ด์ค๋ก ์ด๋ฃจ์ด์ ธ ์๋ค. ๊ฐ ํ ์คํธ ์ผ์ด์ค๋ ํ ์ค๋ก ์ด๋ฃจ์ด์ ธ ์๊ณ , n์ด ์ฃผ์ด์ง๋ค. 1๋ก ์ด๋ฃจ์ด์ง n์ ๋ฐฐ์ ์ค ๊ฐ์ฅ ์์ ์์ ์๋ฆฌ์๋ฅผ ์ถ๋ ฅํ๋ค. ์๊ฐ ์ ํ 1์ด ๋ฉ๋ชจ๋ฆฌ ์ ํ 128MB ๋ฌธ์ ํ์ด n์ ์ ๋ ฅ๋ฐ์ n์ ๋ฐฐ์์ค 1๋ก๋ง ์ด๋ฃจ์ด์ง ๊ฐ์ฅ ์์..
์ต๋, ์ต์๊ณต๋ฐฐ์ ๊ทธ๋ฆฌ๊ณ ์์
์ต๋๊ณต์ฝ์(GCD) ๋ ์ a,b์ ๊ณตํต๋ ์ฝ์์ค ๊ฐ์ฅ ํฐ ์ - ๊ตฌํ๋ ๋ฐฉ๋ฒ 1. 2๋ถํฐ ์์ํด์ a,b๋ก ๊ณตํต๋๊ฒ ๋๋์ด ๋จ์ด์ง๋ ๊ฒ์ค ์ต๋๊ฐ์ ๊ตฌํ๋ค. O(n) -> n์ a,b์ค ์ต์๊ฐ 2. ์ ํด๋ฆฌ๋ ํธ์ ๋ฒ์ ์ฌ์ฉํ๊ธฐ // ๋๋ ์ฃผ๋ก ์ฌ๊ท๋ฅผ ์ฌ์ฉํ๋ ํธ public int gcd(int a, int b){ if(a%b == 0) return b; return gcd(a,a%b); } //๋ฐ๋ณต๋ฌธ์ ์ฌ์ฉํ์ฌ ๊ตฌํ ์๋ ์์ public int gcd(int a, int b){ int temp; while(true){ if(a%b == 0) return b; temp = a % b; a = b; b = temp; } } ์ ์ฝ๋๋ ์ ํด๋ฆฌ๋ ํธ์ฌ๋ฒ์ ์ฌ์ฉํด์ ๊ตฌํํด๋ณธ ์ฝ๋์ด๋ค. ์ต์๊ณต๋ฐฐ์(LCM) - ์ต์..
์ฝ์
์ฝ์๋ฅผ ๊ตฌํ๋ ๋ฐฉ๋ฒ 1. 1๋ถํฐ n๊น์ง %์ฐ์ฐ์ ํ์ฉํ์ฌ ๊ตฌํ๊ธฐ 2. 1๋ถํฐ ๋ฃจํธn๊น์ง %์ฐ์ฐ์ ํ์ฉํ์ฌ ๊ตฌํ๊ธฐ ๋ฃจํธn๊น์ง๋ง ๋น๊ตํด๋ ๋๋ ์ด์ ๋ ์ฝ์๋ ์ง์ ์ง์ด ์๊ธฐ ๋๋ฌธ์ด๋ค. ์ฝ์์ ๊ฐ์๊ฐ ํ์์ผ ๊ฒฝ์ฐ root๋ฅผ ์์ด์ค ๊ฐ์ด ์ฝ์๊ฐ ๋๋ค.(๋ฃจํธn๊น์ง ํ์ธํด์ผํ๋ค.) ์๊ฐ๋ณต์ก๋ 1๋ฒ ๋ฐฉ๋ฒ : O(n) 2๋ฒ ๋ฐฉ๋ฒ : O(√n) // 1๋ฒ ๋ฐฉ๋ฒ O(n) int n = 121; for(int i = 1; i