์๋ฐ
![[์นด์นด์ค] k์ง์์์ ์์ ๊ฐ์ ๊ตฌํ๊ธฐ (java)](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FqNw7x%2FbtruwIpC6ab%2FZUp1v9xSRZMJVSJqi01911%2Fimg.png)
[์นด์นด์ค] k์ง์์์ ์์ ๊ฐ์ ๊ตฌํ๊ธฐ (java)
๋ฌธ์ ๋งํฌ https://programmers.co.kr/learn/courses/30/lessons/92335# ์ฝ๋ฉํ ์คํธ ์ฐ์ต - k์ง์์์ ์์ ๊ฐ์ ๊ตฌํ๊ธฐ ๋ฌธ์ ์ค๋ช ์์ ์ ์ n์ด ์ฃผ์ด์ง๋๋ค. ์ด ์ซ์๋ฅผ k์ง์๋ก ๋ฐ๊ฟจ์ ๋, ๋ณํ๋ ์ ์์ ์๋ ์กฐ๊ฑด์ ๋ง๋ ์์(Prime number)๊ฐ ๋ช ๊ฐ์ธ์ง ์์๋ณด๋ ค ํฉ๋๋ค. 0P0์ฒ๋ผ ์์ ์์ชฝ์ 0์ด ์๋ ๊ฒฝ์ฐ P0์ฒ๋ผ ์ programmers.co.kr ๋ฌธ์ ํ์ด ๐จ๐ป๐ป ํต์ฌ ์คํฌ ๐จ๐ป๐ป ์์, ์ฌ๊ท n์ผ๋ก ์ฃผ์ด์ง ์ซ์๋ฅผ k์ง์๋ก ๋ณ๊ฒฝํ ํ 0์ ์ค๋ฅธ์ชฝ ๋๋ ์ผ์ชฝ์ผ๋ก ๊ฐ์ง๊ณ ์๋ ์๋ค์ด ์์์ธ์ง ํ๋จํ์ฌ ๊ฐ์๋ฅผ ๊ตฌํด์ฃผ๋ ๋ฌธ์ ์ด๋ค. 10์ง์์ธ n์ k์ง์๋ก ๋ณ๊ฒฝํ๋ ๋ฐฉ๋ฒ์ ์ฌ๊ท์ ๋๋๊ธฐ ๊ทธ๋ฆฌ๊ณ %์ฐ์ฐ์ ํ์ฉํ์ฌ ๋ง๋ค ์ ์๋ค. %์ฐ์ฐ์ ํ์ฌ ๊ตฌํ m..
![[์นด์นด์ค] ์ฃผ์ฐจ ์๊ธ ๊ณ์ฐ (java)](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdcMqiY%2FbtruK5YicII%2FstKMKSPycEfD26hxbthoN1%2Fimg.png)
[์นด์นด์ค] ์ฃผ์ฐจ ์๊ธ ๊ณ์ฐ (java)
๋ฌธ์ ๋งํฌ https://programmers.co.kr/learn/courses/30/lessons/92341 ์ฝ๋ฉํ ์คํธ ์ฐ์ต - ์ฃผ์ฐจ ์๊ธ ๊ณ์ฐ [180, 5000, 10, 600] ["05:34 5961 IN", "06:00 0000 IN", "06:34 0000 OUT", "07:59 5961 OUT", "07:59 0148 IN", "18:59 0000 IN", "19:09 0148 OUT", "22:59 5961 IN", "23:00 5961 OUT"] [14600, 34400, 5000] programmers.co.kr ๋ฌธ์ ํ์ด ๐จ๐ป๐ป ํต์ฌ ์คํฌ ๐จ๐ป๐ป ๊ตฌํ, Map ์ฃผ์ฐจ์๊ธ๊ณ์ฐ ๋ฌธ์ ๋ ์ ๋ ฅ์ผ๋ก ๋ค์ด์ค๋ ์ฃผ์ฐจ์ ๋ํ record์ ๋ณด๋ก ํ๋ฃจ๋์ ์ฐจ๋์ ์ถ์ ์ฌ๋ถ๋ก ์๊ฐ์ ๊ณ์ฐํ์ฌ ๊ทธ ๋ ๋์ ..
![[์นด์นด์ค] ๋จ์ฒด์ฌ์ง์ฐ๊ธฐ (java)](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fba6YZ3%2FbtruAjb3HSv%2F7MYJ5X1OrLzd2i8zEg6oq1%2Fimg.png)
[์นด์นด์ค] ๋จ์ฒด์ฌ์ง์ฐ๊ธฐ (java)
๋ฌธ์ ๋งํฌ https://programmers.co.kr/learn/courses/30/lessons/1835 ์ฝ๋ฉํ ์คํธ ์ฐ์ต - ๋จ์ฒด์ฌ์ง ์ฐ๊ธฐ ๋จ์ฒด์ฌ์ง ์ฐ๊ธฐ ๊ฐ์์ ๋ง์ ์นด์นด์คํ๋ ์ฆ๋ ๋จ์ฒด๋ก ์ํ์ ๋ ๋ฌ๋ค. ์ฆ๊ฑฐ์ด ์๊ฐ์ ๋ณด๋ด๊ณ ๋ง์ง๋ง์ ๋จ์ฒด์ฌ์ง์ ์ฐ๊ธฐ ์ํด ์นด๋ฉ๋ผ ์์ ์ผ๋ ฌ๋ก ๋๋ํ ์ฐ๋ค. ๊ทธ๋ฐ๋ฐ ๊ฐ์๊ฐ ์ํ๋ ๋ฐฐ์น๊ฐ ๋ชจ๋ programmers.co.kr ๋ฌธ์ ํ์ด ๐จ๐ป๐ป ํต์ฌ ์คํฌ ๐จ๐ป๐ป ๋ธ๋ฃจํธํฌ์ค ์์ด ์นด์นด์ค ํ๋ ์ฆ ์บ๋ฆญํฐ 8๋ช ์ด ์ํ๋ ์์๋๋ก ์ฌ์ง์ ์ฐ์ ์ ์๋ ํ์๋ฅผ ๊ตฌํ๋ ๋ฌธ์ ์ด๋ค. ์บ๋ฆญํฐ๊ฐ ์์๋๋ก ์๋ ๊ฒฝ์ฐ์์๋ 8!์ด๋ฉฐ ์ต๋๋ก ๋ค์ด์ฌ ์ ์๋ ์กฐ๊ฑด์ด 100๊ฐ์ด๋ค. ๋ฐ๋ผ์ ์ต์ ์ ๊ฒฝ์ฐ $O(8!*100)$์ ์๊ฐ์ด ๊ฑธ๋ฆฌ๊ฒ ๋๋ค. ๋ฐ๋ผ์, ๋ธ๋ฃจํธํฌ์ค๋ก ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ ์ ์๋ค. ์์ด๋ก ๋ฌธ..
![[์นด์นด์ค] ์คํ์ฑํ
๋ฐฉ (java)](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F4Oods%2FbtruLuDY4KW%2FCW9wrxLm0hLAOFRCfDGeL0%2Fimg.png)
[์นด์นด์ค] ์คํ์ฑํ ๋ฐฉ (java)
๋ฌธ์ ๋งํฌ ์ฝ๋ฉํ ์คํธ ์ฐ์ต - ์คํ์ฑํ ๋ฐฉ ์คํ์ฑํ ๋ฐฉ ์นด์นด์คํก ์คํ์ฑํ ๋ฐฉ์์๋ ์น๊ตฌ๊ฐ ์๋ ์ฌ๋๋ค๊ณผ ๋ํ๋ฅผ ํ ์ ์๋๋ฐ, ๋ณธ๋ ๋๋ค์์ด ์๋ ๊ฐ์์ ๋๋ค์์ ์ฌ์ฉํ์ฌ ์ฑํ ๋ฐฉ์ ๋ค์ด๊ฐ ์ ์๋ค. ์ ์ ์ฌ์์ธ ๊นํฌ๋ฃจ๋ ์นด์นด์คํก ์ค programmers.co.kr ๋ฌธ์ ํ์ด ๐จ๐ป๐ป ํต์ฌ ์คํฌ ๐จ๐ป๐ป Map, ๊ตฌํ ์นด์นด์ค ์คํ์ฑํ ๋ฐฉ์ ์ ์ฅ๊ณผ ํด์ฅ์ ๋ก๊ทธ๋ฅผ ๋ฆฌํดํด์ฃผ๋ ๋ฌธ์ ์ด๋ค. ๋๋ค์์ ๋ณ๊ฒฝํ๋ ๊ฒฝ์ฐ์๋ ๊ณผ๊ฑฐ์ ์ ์ฅ ๋ฐ ํด์ฅ์ ๋๋ค์๋ ๋ณ๊ฒฝํด์ฃผ์ด์ผ ํ๋ค. ๋๋ค์์ ๋ณ๊ฒฝํ๋ ๋ฐฉ๋ฒ์ ๋ค์ ์ ์ฅ์ ํน์ ๋ฐฉ ์์์ ๋ณ๊ฒฝ์ด ๊ฐ๋ฅํ๋ค. ๋๋ค์์ Map์ ํ์ฉํ์ฌ id์ ๋๋ค์์ ๋งคํ์์ผ์ฃผ์๋ค. ๋ชจ๋ record๋ฅผ ํ์ธํ์ฌ ์ถ๋ ฅํด์ฃผ์ด์ผํ log๋ ๊ฐ๋ณ๋ฐฐ์ด์ธ ArrayList๋ฅผ ์ฌ์ฉํด์ ๋ฃ์ด์ฃผ์๊ณ , ๋๋ค์์ด ๋ณ๊ฒฝ๋ ์ ์๋ ๊ฒฝ์ฐ..
![[์นด์นด์ค] ์ ๊ณ ๊ฒฐ๊ณผ ๋ฐ๊ธฐ (java)](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FKCmQr%2FbtruFf2mnNF%2Fi1PbAj9eieAdH8rpCKlfYk%2Fimg.png)
[์นด์นด์ค] ์ ๊ณ ๊ฒฐ๊ณผ ๋ฐ๊ธฐ (java)
๋ฌธ์ ๋งํฌ ์ฝ๋ฉํ ์คํธ ์ฐ์ต - ์ ๊ณ ๊ฒฐ๊ณผ ๋ฐ๊ธฐ ๋ฌธ์ ์ค๋ช ์ ์ ์ฌ์ ๋ฌด์ง๋ ๊ฒ์ํ ๋ถ๋ ์ด์ฉ์๋ฅผ ์ ๊ณ ํ๊ณ ์ฒ๋ฆฌ ๊ฒฐ๊ณผ๋ฅผ ๋ฉ์ผ๋ก ๋ฐ์กํ๋ ์์คํ ์ ๊ฐ๋ฐํ๋ ค ํฉ๋๋ค. ๋ฌด์ง๊ฐ ๊ฐ๋ฐํ๋ ค๋ ์์คํ ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค. ๊ฐ ์ ์ ๋ ํ ๋ฒ์ ํ ๋ช ์ programmers.co.kr ๋ฌธ์ ํ์ด ๐จ๐ป๐ป ํต์ฌ ์คํฌ ๐จ๐ป๐ป Set(์งํฉ) ์ ๊ณ ๊ฒฐ๊ณผ ๋ฐ๊ธฐ ๋ฌธ์ ๋ ์ ์ ๋ค์ด ์ ๊ณ ๋ฅผ ํ๋ ์ ๋ณด๋ฅผ ํ์ธํ๊ณ ์ ๊ณ ๋ฅผ ๋นํ ํ์๊ฐ k ์ด์์ผ ๊ฒฝ์ฐ ์ ์ง๋ฅผ ์ฃผ๊ฒ ๋๋๋ฐ, ๊ทธ ๋ ์ ์ง๋ฅผ ๋ฐ์ ์ ์ ๋ฅผ ์ ๊ณ ํ ์ ์ ์๊ฒ ์๋์ ์ค๋ค๋ฉด ์๋์ ๋ฐ์ ํ์๋ฅผ ํ์ธํ๋ ๋ฌธ์ ์ด๋ค. ์ด ๋ ํ ์ ์ ๊ฐ ๋์ผํ ์ฌ๋์ ์ค๋ณต์ผ๋ก ์ ๊ณ ํ๋ฉด ํ๋ฒ์ผ๋ก ์ฒ๋ฆฌ๋ฅผ ํด์ผํ๋ค. ์ด ์กฐ๊ฑด์ ๋ง์กฑ์ํค๊ธฐ ์ํ์ฌ ๋๋ ์งํฉ์ ์ฌ์ฉํ์ฌ ๊ตฌํํ์๋ค. ์งํฉ์ ๋ฐ์ดํฐ๋ฅผ ์ค๋ณต์์ด ํ๊ฐ์ฉ๋ง ๊ฐ์ง๊ณ ์..
![[BOJ_15685] ๋๋๊ณค ์ปค๋ธ (Java)](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FlUe5N%2FbtruKjiqwPl%2FG1AjkezeDDdmSSxcKqvmBk%2Fimg.png)
[BOJ_15685] ๋๋๊ณค ์ปค๋ธ (Java)
๋ฌธ์ ๋งํฌ https://www.acmicpc.net/problem/15685 15685๋ฒ: ๋๋๊ณค ์ปค๋ธ ์ฒซ์งธ ์ค์ ๋๋๊ณค ์ปค๋ธ์ ๊ฐ์ N(1 ≤ N ≤ 20)์ด ์ฃผ์ด์ง๋ค. ๋์งธ ์ค๋ถํฐ N๊ฐ์ ์ค์๋ ๋๋๊ณค ์ปค๋ธ์ ์ ๋ณด๊ฐ ์ฃผ์ด์ง๋ค. ๋๋๊ณค ์ปค๋ธ์ ์ ๋ณด๋ ๋ค ์ ์ x, y, d, g๋ก ์ด๋ฃจ์ด์ ธ ์๋ค. x์ y๋ ๋๋๊ณค ์ปค www.acmicpc.net ๋ฌธ์ ํ์ด ๐จ๐ป๐ป ํต์ฌ ์คํฌ ๐จ๐ป๐ป ์๋ฎฌ๋ ์ด์ ๋๋๊ณค์ปค๋ธ ๋ฌธ์ ๋ฅผ ๋ดค์ ๋ ๊ต์ฅํ ๋ํดํ๋ค๋ ์๊ฐ์ ๋ฐ์์์ต๋๋ค. ์ด๋ป๊ฒ ๊ทธ๋ํ๋ฅผ ํน์ ์ ์์ 90๋์ฉ ๋๋ฆด ์ ์์๊น ๊ณ ๋ฏผ์ ๋ง์ด ํ๋๋ฐ, ์๊ฐํด๋ณด๋ ๊ทธ๋ํ๋ฅผ ๊ทธ๋ฆด ๋ ํด๋น ์ ์์ ์ด๋ ๋ฐฉํฅ์ผ๋ก ์ด๋ํ์๋์ง๋ง ์๋ฉด ๋๋๊ณค ์ปค๋ธ๋ฅผ ๊ตฌํ ์ ์์์ต๋๋ค. ๋๋๊ณค ์ปค๋ธ ๋ฌธ์ ๋ ํน์ ์์ ์ ์์ ์์ ๋ฐฉํฅ์ผ๋ก 1์นธ ์ด๋ํ..
![[BOJ_2156] ํฌ๋์ฃผ ์์ (java)](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FCdB3N%2FbtruDCjhrXh%2Fi1MC24gkf8qYpWKIBY1d5K%2Fimg.png)
[BOJ_2156] ํฌ๋์ฃผ ์์ (java)
๋ฌธ์ ๋งํฌ https://www.acmicpc.net/problem/2156 2156๋ฒ: ํฌ๋์ฃผ ์์ ํจ์ฃผ๋ ํฌ๋์ฃผ ์์ํ์ ๊ฐ๋ค. ๊ทธ ๊ณณ์ ๊ฐ๋๋, ํ ์ด๋ธ ์์ ๋ค์ํ ํฌ๋์ฃผ๊ฐ ๋ค์ด์๋ ํฌ๋์ฃผ ์์ด ์ผ๋ ฌ๋ก ๋์ฌ ์์๋ค. ํจ์ฃผ๋ ํฌ๋์ฃผ ์์์ ํ๋ ค๊ณ ํ๋๋ฐ, ์ฌ๊ธฐ์๋ ๋ค์๊ณผ ๊ฐ์ ๋ ๊ฐ์ง ๊ท www.acmicpc.net ๋ฌธ์ ์ค๋ช ๋๋ณด๊ธฐ ๋๋ณด๊ธฐ ๋ฌธ์ ํจ์ฃผ๋ ํฌ๋์ฃผ ์์ํ์ ๊ฐ๋ค. ๊ทธ ๊ณณ์ ๊ฐ๋๋, ํ ์ด๋ธ ์์ ๋ค์ํ ํฌ๋์ฃผ๊ฐ ๋ค์ด์๋ ํฌ๋์ฃผ ์์ด ์ผ๋ ฌ๋ก ๋์ฌ ์์๋ค. ํจ์ฃผ๋ ํฌ๋์ฃผ ์์์ ํ๋ ค๊ณ ํ๋๋ฐ, ์ฌ๊ธฐ์๋ ๋ค์๊ณผ ๊ฐ์ ๋ ๊ฐ์ง ๊ท์น์ด ์๋ค. ํฌ๋์ฃผ ์์ ์ ํํ๋ฉด ๊ทธ ์์ ๋ค์ด์๋ ํฌ๋์ฃผ๋ ๋ชจ๋ ๋ง์ ์ผ ํ๊ณ , ๋ง์ ํ์๋ ์๋ ์์น์ ๋ค์ ๋์์ผ ํ๋ค. ์ฐ์์ผ๋ก ๋์ฌ ์๋ 3์์ ๋ชจ๋ ๋ง์ค ์๋ ์๋ค...
![[Backjoon_4375] 1 (Java)](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fc3mhCO%2FbtruMoKiHaG%2FIjbt5vkwVOLS2A0q6Hl2J0%2Fimg.png)
[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๋ก๋ง ์ด๋ฃจ์ด์ง ๊ฐ์ฅ ์์..

Test Case ๋ง๋ค๊ธฐ
์ด๋ฒ ํฌ์คํ ์์๋ ์๋น์ค๋ฅผ ์์ฑํ๊ณ , ๋์์ด ์ํํ ์ํ๋๋์ง ํ ์คํธ๋ฅผ ํด์ผํฉ๋๋ค. main ๋ฉ์๋๋ฅผ ์ฌ์ฉํ์ฌ ์ถ๋ ฅํ๊ธฐ ์ง์ DB์ ๋ฃ๊ณ ์คํํด๋ณด๊ธฐ ๋ฑ๋ฑ ๋ค์ํ ๋ฐฉ๋ฒ์ผ๋ก ํ ์คํธ๋ฅผ ํ ์ ์์ต๋๋ค. ์ด๋ฒ ์๊ฐ์๋ Spring์ผ๋ก Service๋ฅผ ๋ง๋ค๋ฉฐ ๊ต์ฅํ ํธ๋ฆฌํ Test Case๋ฅผ ํ์ฉํ์ฌ ํ ์คํธ๋ฅผ ์ํํ๋ ๋ฐฉ๋ฒ์ ์์๋ณด๋๋ก ํ๊ฒ ์ต๋๋ค. Test Case testํ์ผ์์ Class๋ฅผ ์์ฑํ์ฌ ์ฃผ์๊ณ ์์ ์ ์ํํ๋ฉด ๋ฉ๋๋ค. ๋ฉ์๋์ @Test๋ผ๋ anotation๋ง ๋ถ์ฌ์ฃผ๊ณ ์ฌ์ฉํ๋ฉด ๋ฉ๋๋ค. ์์๋ก ๊ฐ๋จํ ์คํ์ ์๋น์ค๋ฅผ ๋ง๋ค์ด๋ณด๊ฒ ์ต๋๋ค. public int join(Member member) { nameCheck(member); repository.save(member); return member.g..