ํญํด99
17
ํญํด 99 ์ฝํ
์คํฐ๋ 5๊ธฐ 8์ผ์ฐจ + [ํ๋ก๊ทธ๋๋จธ์ค] Lv3 ์๊ณผ ๋๋ java ํ์ด
1. ๋ฌธ์ ์ค๋ช
๐(1) ๋งํฌ๐ ํ๋ก๊ทธ๋๋จธ์คSW๊ฐ๋ฐ์๋ฅผ ์ํ ํ๊ฐ, ๊ต์ก, ์ฑ์ฉ๊น์ง Total Solution์ ์ ๊ณตํ๋ ๊ฐ๋ฐ์ ์ฑ์ฅ์ ์ํ ๋ฒ ์ด์ค์บ ํprogrammers.co.kr (2) ์ฃผ๋ชฉ ํฌ์ธํธ ๐ต1๏ธโฃ ๋๋ >= ์ ์ด๋ฉด ๋ชจ์๋ ์์ ๊ฐ์๊ฐ 0์ด ๋๋ค!2๏ธโฃ ํ์ฌ ํน์ ํ ์๋ธ ํธ๋ฆฌ๋ฅผ ๋ฐฉ๋ฌธ ์ค์ด๋ผ ๊ฐ์ ํ ๋, ํด๋น ํธ๋ฆฌ์์ ์ต๋ ์ด์ต์ ์ด๋ฏธ ๋๋ค๊ณ ํ์ ํ๋ค๋ฉด, ์กฐ์ ๋
ธ๋๋ฅผ ๊ฑฐ์ฌ๋ฌ ์ฌ๋ผ๊ฐ ๋ค๋ฅธ ์๋ธ ํธ๋ฆฌ๋ฅผ ํ๊ณ ๋๋ ๊ฒ์ด ๊ฐ๋ฅํ๋ค.2. ์๊ฐ์ ํ๋ฆ: ์ฝ๋๊ฐ ๋์ค๊ธฐ๊น์ง ๐๏ธ(1) IDEA ๋์ถ๐กKEY WORD: BACK-TRACKING, DFSํด์ค์์ ์ค๋ช
ํ 2๏ธโฃ๋ฒ์งธ ํฌ์ธํธ ๋๋ฌธ์, ์ด๋ฒ ๋ฌธ์ ๋ BACK-TRACKING์ ๊ฐ๊น๊ฒ ๋ณํ๋ DFS๋ฅผ ์ฌ์ฉํด์ผ ํ๋ค. ๊น์ด ์ฐ์ ํ์์ ํ๋ ์ฑ์ง์..
2025.01.22
์๊ณ ๋ฆฌ์ฆ/๋ฌธ์ ํ์ด
ํญํด99 ์ฝํ
์คํฐ๋ 5๊ธฐ 7์ผ์ฐจ + [๋ฐฑ์ค] 17825 ์ฃผ์ฌ์ ์ท๋์ด java ํ์ด
1. ๋ฌธ์ ์ค๋ช
๐๋ฌธ์ ๋งํฌ2. ๊ตฌํ ๋ฐฉ๋ฒ ๐๏ธKEY WORD: SIMUlATION, BRUTE FORCE0๏ธโฃ ์ท๋์ดํ ๊ตฌํ, ๋ง์ ์์น ๋ํ๋ผ ๋ฐฐ์ด ๊ตฌํ1๏ธโฃ 10๋ฒ์ ์ฃผ์ฌ์ ๊ฐ๊ฐ์ผ๋ก ์์ง์ผ ๋ง์ ์ค๋ณต์์ด๋ก ๊ตฌํ๋ค. ($4^{10}$)2๏ธโฃ ์ด์ ์ฃผ์ฌ์ ํ๋๋น ์์ง์ผ ๋ง์ด ๋ฌด์์ธ์ง ์์๋ ์ ํ์์ผ๋ก, ๊ทธ๋๋ก ๋ง์ ์์ง์ฌ ๋ณธ๋ค.2๏ธโฃ-1) ํ์ฌ ์์ง์ผ ๋ง์ ์์ ๋
ธ๋์ ํ๋์ ํ์ดํ๊ฐ ์์ ๊ฒฝ์ฐ, ๊ทธ๊ฒ์ด ๊ฐ๋ฆฌํค๋ ๊ณณ์ผ๋ก ์ด๋2๏ธโฃ-2) ์ท๋์ด ํ์ ์ต์ข
์์น๊ฐ ์๋๋ฐ๋, ๋ง์ด ๋์ฐฉํ ์์น์ ๋ค๋ฅธ ๋ง์ด ์ด๋ฏธ ์กด์ฌํ๋ค๋ฉด ์ด๋ฒ ์์๋ ์๋ฏธ๊ฐ ์์ผ๋ฏ๋ก, 1๏ธโฃ๋ก ํ๊ท2๏ธโฃ-3) 1๏ธโฃ๋ฒ์์ ๊ตฌํ ๋ชจ๋ ๋ง์ ์์์ ๋ํ์ฌ 2๏ธโฃ์ ์งํํ๋ค.3๏ธโฃ ์ง๊ธ๊น์ง ์งํํ ์์ ์ค ๋์ ์ ์ ๊ฐ์ ์ต๋๊ฐ์ ๊ตฌํ๋ค.(1..
2025.01.21
์๊ณ ๋ฆฌ์ฆ/๋ฌธ์ ํ์ด
99ํด๋ฝ ์ฝํ
์คํฐ๋ 5๊ธฐ 6์ผ์ฐจ + [๋ฐฑ์ค] 1504 ํน์ ํ ์ต๋จ ๊ฒฝ๋ก java ์ฌ์ด ํ์ด^^
1. ๋ฌธ์ ์ค๋ช
๐๋ฌธ์ ๋งํฌ์ ์ 1 โ ์ ์ N์ผ๋ก ๊ฐ ๊ฑด๋ฐ, ์ด ๋ ์ฌ์ด์ ํน์ ํ ์ ์ A, B๋ฅผ ๊ผญ ๊ฑฐ์ณ์ผ ํ๋ค. ์ด ํน์ ํ ์ ์ 2๊ฐ๋ฅผ ๊ผญ ๊ฑฐ์น๋ฉด์ ๊ฐ ์ ์๋ ์ต๋จ ๊ฒฝ๋ก์ ๋น์ฉ์ ๊ตฌํ์ฌ๋ผ2. ๊ตฌํ ๋ฐฉ๋ฒ ๐๏ธKEY WORD: DIJKSTRAํน์ ์ ์ A,B๋ฅผ ๊ผญ ๊ฑฐ์น๋ฉด์, 1 โ N ๊น์ง ๊ฐ๋ ์ต๋จ ๊ฒฝ๋ก๋ ๋ค์ 2๊ฐ์ง ์ค ํ๋ ์ผ ๊ฒ์ด๋ค.1 โ A, A โ B, B โ N ๊ฐ๊ฐ์ ์ต๋จ ๊ฒฝ๋ก๋ฅผ ๊ตฌํด์ ํฉํ๋ค.1 โ B, B โ A, A โ N ๊ฐ๊ฐ์ ์ต๋จ ๊ฒฝ๋ก๋ฅผ ๊ตฌํด์ ํฉํ๋ค.์ด๊ฒ ๊ฐ๋ฅํ ์ด์ ๋ ๋ชจ๋ ๊ฐ์ค์น๊ฐ ์์์ด๊ธฐ ๋๋ฌธ์ด๋ค. A,B๋ก ๊ฐ๋ ๋ถ๋ถ์ ์ธ ์ต๋จ ๊ฒฝ๋ก์์ ๋ฒ์ด๋๋ ์ ์ ์ ๋ฐฉ๋ฌธํ๋ ๊ฒ ์์ฒด๊ฐ ๋น์ฉ์ ๋๋ฆด ๋ฟ ๋์๋์ง ์๋๋ค. ๋ฐ๋ผ์ ๊ฐ๊ฐ ๋ถ๋ถ์ ์ธ ์ต๋จ ๊ฒฝ๋ก์ ํฉ์ด ๊ณง ์ ์ฒด ์ต๋จ ๊ฒฝ๋ก๊ฐ ๋ ..
2025.01.20
์๊ณ ๋ฆฌ์ฆ/๋ฌธ์ ํ์ด
ํญํด 99 ์ฝํ
์คํฐ๋ 5๊ธฐ 3์ผ์ฐจ + [๋ฐฑ์ค] ๋คํธ์ํฌ ๋ณต๊ตฌ java ํ์ด
1. ๋ฌธ์ ์ค๋ช
๐๋ฌธ์ ๋งํฌ๋ฌธ์ ๋ฅผ ๋ณด๋ฉฐ, ์ฐพ์๋ธ ์กฐ๊ฑด์ ๋ค์ 3๊ฐ์ง ์๋ค.1๏ธโฃ ์ต์ ๊ฐ์์ ํ์ ์ ๋ณต๊ตฌํ๋ผ2๏ธโฃ ๋ชจ๋ ์๋ก ๋ค๋ฅธ 2 ๋์ ์ปดํจํฐ๊ฐ ๊ต์ ์ด ๊ฐ๋ฅํด์ผ ํ๋ค.3๏ธโฃ ์ํผ ์ปดํจํฐ์์ ๋ค๋ฅธ ์ปดํจํฐ๋ก์ ํต์ ์ต์ ๋น์ฉ์ ๋ณต๊ตฌ ์ด์ ๊ณผ ๊ฐ์์ผ ํ๋ค.๋ฌธ์ ๋ฅผ ํ๋ฉฐ ๋๋ ์ ์,3๏ธโฃ ๋๋ฌธ์ 1๏ธโฃ์ ์์ผ๋ ๋ง๋ ํ ์กฐ๊ฑด์ด ๋์๋ค. 3๏ธโฃ์ ๋ง์กฑ์ํค๋ ค๋ฉด ๋ค์ต์คํธ๋ผ๋ฅผ ํ์ฉํด์, ์ต๋จ ๊ฒฝ๋ก๋ฅผ ์ฐพ์์ผ ํ๊ณ , ๊ทธ ์ต๋จ ๊ฒฝ๋ก์ ์ฌ์ฉ๋ ํ์ ๋ณด๋ค ๊ฐ์๋ฅผ ๋ ์ค์ผ ์ ์๊ธฐ ๋๋ฌธ์ด๋ค. (์ค์ด๋ฉด, ์ด๋ค ์ปดํจํฐ์๋ ์ํผ์ปดํจํฐ๊ฐ ๋๋ฌํ์ง ๋ชปํ๋ค.) 2๏ธโฃ ๋ํ ๋ค์ต์คํธ๋ผ๋ฅผ ํ์ฉํ๋ฉด, ์ต์ ์ํผ ์ปดํจํฐ๋ฅผ ๋งค๊ฐ๋ก ๋ชจ๋ ๊ต์ ํ ์ ์๊ธฐ์ ๋ฐ๋ก ๊ตฌํํด์ผ ํ๋ ์กฐ๊ฑด์ด ์๋๋ค. ๋ฐ๋ผ์ ๋ค์ต์คํธ๋ผ๋ฅผ ํ๋ฉฐ ๊ฑฐ์ณ๊ฐ ๊ฒฝ๋ก๋ฅผ ๊ธฐ์ตํ๋ ๋ฌธ์ ์ด๋ค...
2025.01.17
์๊ณ ๋ฆฌ์ฆ/๋ฌธ์ ํ์ด
99ํด๋ฝ ์ฝํ
์คํฐ๋ 5๊ธฐ 5์ผ์ฐจ + [๋ฐฑ์ค] 17270 ์ฐ์์ธ์ ํ๋ค์ด java ํ์ด
1. ๋ฌธ์ ์ค๋ช
๐๋ฌธ์ ๋งํฌ์งํ๊ณผ ์ฑํ์ ์๋ก์ด ์ฝ์ ์ฅ์๋ฅผ ์ฐพ์์ฃผ๋ ๋ฌธ์ ๋ก์, ๋ค์ต์คํธ๋ผ๋ฅผ ํตํด ๊ฐ์์ ์ถ๋ฐ์ ์์ ๋ชจ๋ ์ ์ ๊น์ง์ ์ต์ ๋๋ฌ ๋น์ฉ์ ๊ตฌํ๊ณ , ์ด๋ฅผ ํตํด 4๊ฐ์ง ์กฐ๊ฑด์ ๋ง์กฑํ๋ ์ฝ์ ์ฅ์๋ฅผ ์ฐพ์ผ๋ฉด ๋๋ค.ํ์ง๋ง, ์ถ์ ์๊ฐ ์ง๋ฌธ์ ๋๊ฒ ๋ชจํธํ๊ฒ ์ ์ด์, ์กฐ๊ฑด์ ์ง์๊ฐ ํท๊ฐ๋ฆฐ๋ค.์ฝ์ ์ฅ์์ ์กฐ๊ฑด์ ๋ค์๊ณผ ๊ฐ๋ค.1๏ธโฃ ๊ฐ์์ ์ถ๋ฐ์ ์ ์ฝ์ ์ฅ์๊ฐ ๋ ์ ์๋ค.2๏ธโฃ ๋ ๋ค ์ต์ ๋น์ฉ์ผ๋ก ๋ฟ์ ์ ์๋ ์ฅ์์ฌ์ผ ํ๋ค.3๏ธโฃ ์งํ์ด๊ฐ ์ฑํ๋ณด๋ค ๋จผ์ ๋์ฐฉํ๋ ์ฅ์์ฌ์ผ ํ๋ค.4๏ธโฃ ์์ ์กฐ๊ฑด์ ๋ชจ๋ ๋ง์กฑํ๋ ์ฅ์๊ฐ ๋ณต์๋ผ๋ฉด, ๊ทธ ์ค ์งํ์ด๊ฐ ๋นจ๋ฆฌ ๋์ฐฉํ๋ ์ฅ์๋ฅผ ๊ณ ๋ฅธ๋ค. (์ด ๋ง์ ๋ ๋ณต์์ด๋ฉด, ์ ์ ๋ฒํธ๊ฐ ๋น ๋ฅธ ๊ฒ์ ๊ณ ๋ฅธ๋ค.)์ด ์กฐ๊ฑด์ ๋ณด๋ฉด,๊ฐ์์ ์ถ๋ฐ์ ์ด ์๋๋ฉด์, ์งํ์ด๊ฐ ์ฑํ๋ณด๋ค ๋จผ์ ๋์ฐฉํ๋ฉด์..
2025.01.17
์๊ณ ๋ฆฌ์ฆ/๋ฌธ์ ํ์ด
99ํด๋ฝ ์ฝํ
์คํฐ๋ 5๊ธฐ 2์ผ์ฐจ TIL + ํ๋ก๊ทธ๋๋จธ์ค Lv4 ๊ฐ์ฌ ๊ฒ์
1. ๋ฌธ์ ์ค๋ช
๐๋ฌธ์ ๋งํฌ2. ๊ตฌํ ๋ฐฉ๋ฒ ๐๏ธKEY WORD: ํธ๋ผ์ด0๏ธโฃ ์ค์ํ ์ฒ์ ์ธํ
!: Tri ๊ตฌ์กฐ๋ฅผ ๋ง๋๋๋ฐ ๊ตฌ์ฑ์์๋ ๋ค์๊ณผ ๊ฐ๋ค.(a) `๊ธฐ๋ณธ์ ์ธ ์์ ๋
ธ๋`: HashMap๋ก ๊ตฌํ (์์ ์ํ๋ฒณ ์ด๋ฆ, ๊ทธ๊ฒ์ ๊ฐ์ฒด)(b) `lenMap`: ํ์ฌ ์กฐํ ์ค์ธ ๋ฌธ์ ๋ค๋ก ๋ถํฐ ์ ๋ถ ๋ฌผ์ํ๋ผ๊ณ ์ณค์ ๋, ๊ทธ ์์ผ๋์นด๋๋ฅผ ๋ง์กฑํ๋ ๋ฌธ์๊ฐ ๋ช ๊ฐ ์๋์ง ์ธ๋ ์๋ฃ๊ตฌ์กฐ, HashMap๋ก ๊ตฌํ (๋ฌธ์์ด์ ๊ธธ์ด, ๋ง์กฑํ๋ ๋ฌธ์ ๊ฐ์)1๏ธโฃ ์
๋ ฅ: ๋ฌธ์์ด ๊ทธ๋๋ก ๋ฐ๋ Tri ํ๋, ๋ฌธ์์ด์ ๋ค์ง์ด์ ๋ฐ๋ Tri ํ๋์ฉ ๋ง๋ค์ด ๊ฐ๊ฐ ๋ฐ๋ก ๋ฐ๋ก ์
๋ ฅ ๋ฐ์์
๋ ฅ๋ฐ์ผ๋ฉด์, ๋งค๋ฒ LenMap์ ๊ฐ์ ๊ฐฑ์ ํ๋ค.2๏ธโฃ ์ฐพ๊ธฐ: ์์ผ๋์นด๋ ?๋ฅผ ๋ง๋๊ธฐ ์ ๊น์ง, ํธ๋ผ์ด๋ฅผ ๊น๊ฒ ๋ค์ด๊ฐ๋ค. ๋ฐํ๊ฐ์ด ๋ ..
2025.01.15
์๊ณ ๋ฆฌ์ฆ/๋ฌธ์ ํ์ด
99ํด๋ฝ ์ฝํ
์คํฐ๋ 1์ผ์ฐจ TIL + [๋ฐฑ์ค] 11657 ํ์๋จธ์ java ํ์ด
1. ๋ฌธ์ ์ค๋ช
๐๋ฌธ์ ๋งํฌ๋ฒจ๋ง ํฌ๋ ์๊ณ ๋ฆฌ์ฆ ๊ณต๋ถํ๊ณ ํ ๋ฒ ์จ๋ณด๋ผ๋ ๊ฒฌ๋ณธ ๋ฌธ์ ์ด๋ค.์ฃผ์ด์ง๋ ๊ฐ์ ์ ๋ณด๋ ๋ชจ๋ ๋จ๋ฐฉํฅ์ด๋ค.2. ๊ตฌํ ๋ฐฉ๋ฒ ๐๏ธKEY WORD: BELLMAN-FORD ALGORITHM0๏ธโฃ ํํ๋ก ๋ชจ๋ ๊ฐ์ ์ ์ ์ฅ, ์ต์ ๋น์ฉ ๋ฐฐ์ด์ธ dist [] ์ ์ธ.(N: ์ ์ ์ ์, M: ๊ฐ์ ์ ์, dist ๋ฐฐ์ด์ Long.MAX_VALUE๋ก ์ด๊ธฐํ)1๏ธโฃ ์ถ๋ฐ์ง๋ฅผ 1๋ก ์ค์ ํ๊ณ , N-1๋งํผ ๋ชจ๋ ๊ฐ์ ์ ๋๋ฉด์ ๋ค์ ๊ตฌ๋ฌธ์ ์คํํ๋ค.1๏ธโฃ-1) ํ์ฌ ์กฐํ์ค์ธ ๊ฐ์ ์ ์ถ๋ฐ์ง๋ฅผ A, ๋์ฐฉ์ง๋ฅผ B, AโB์ ๊ฐ์ค์น๋ฅผ C๋ผ๊ณ ํ ๋,dist[A] != ∞๏ธ๏ธ && dist[B] > dist[A] + C์ด๋ฉด, dist[B] = dist[A] + C๋ก ์ต์ ํ ํด์ค๋ค.2๏ธโฃ ์ ๊ณผ์ ์ ๋๋ธ ํ, ๋ฒจ๋ง ..
2025.01.13
์๊ณ ๋ฆฌ์ฆ/๋ฌธ์ ํ์ด
99ํด๋ฝ ์ฝํ
์คํฐ๋ 31์ผ์ฐจ TIL + [ํ๋ก๊ทธ๋๋จธ์ค] ๋คํฌ์ํฌ java ํ์ด
1. ๋ฌธ์ ์ค๋ช
๋ฌธ์ ๋งํฌ์๋ก ์ฐ๊ฒฐ๋์ด ์๋ ๊ทธ๋ํ๋ฅผ ํ๋์ ๊ตฐ์ง์ฒด๋ก ๋ณผ ๋, ์ฃผ์ด์ง ์ ์ฒด ๋
ธ๋์์ ๊ตฐ์ง์ฒด๊ฐ ์ด ๋ช ๊ฐ ์๋์ง ๊ตฌํ๋ ๋ฌธ์ ์ด๋ค. 2. ์ ๊ทผ ๋ฐฉ์์ธ์ ๋ฆฌ์คํธ ํํ๋ก, ๋
ธ๋์ ์ฐ๊ฒฐ ์ ๋ณด๋ฅผ ์ ์ฅํ๋ค. ๋ฐฉ๋ฌธ ๋ฐฐ์ด์ ๋ง๋ค๊ณ ๋ฐฉ๋ฌธํ์ง ์์ ๋ฐฐ์ด์ ๊ธฐ์ ์ผ๋ก BFS๋ฅผ ์คํํ๋ค.ํ ๋ฒ BFS๋ฅผ ๋๋ฉด, ์์ ์ ์ ๊ณผ ์ฐ๊ฒฐ๋ ๋ชจ๋ ์ ์ ์ ๋ฐฉ๋ฌธ ์ฒ๋ฆฌ๊ฐ ๋ ๊ฒ์ด๋ค. ์ด๋ ํ๋์ ๊ตฐ์ง์ฒด๋ฅผ ์กฐํํ ๊ฑธ๋ก ๋ณผ ์ ์๋ค. ๋ฐ๋ผ์ BFS๋ฅผ ๋ ํ์๋งํผ ๊ตฐ์ง์ฒด๊ฐ ์กด์ฌํ๋ ๊ฒ์ด๋ฏ๋ก, BFS๋ฅผ ์คํํ ํ์๋ฅผ ๋ฐํํ๋ฉด ๋๋ค.3. ์ฝ๋ ๋ถ์import java.io.*;import java.util.*;class Solution { public int solution(int n, int[][] computers) { ..
2024.08.21
์๊ณ ๋ฆฌ์ฆ/๋ฌธ์ ํ์ด
99ํด๋ฝ ์ฝํ
์คํฐ๋ 29์ผ TIL + [LeetCode] maximum-profit-job-scheduling ํ์ด์ค๋ช
1. ๋ฌธ์ ์ค๋ช
๋ฌธ์ ๋งํฌ(1) ์ผ๊ฑฐ๋ฆฌ์ ์์ ์๊ฐ, ๋ ์๊ฐ, ์ผ์ ๋๋์ ๋์ ์ด์ต ์ด ์ฃผ์ด์ง๋ค.(2) ์์ ์๊ฐ๊ณผ ๋ ์๊ฐ์ ๋ฒ์๊ฐ ๊ฒน์น๋ ์ผ์ ๊ฐ์ด ํ์ง ๋ชปํ๋ค. ๋ฐ๋ฉด ์ด๋ค ์ผ์ด ๋๋์๋ง์ ๋ค๋ฅธ ์ผ์ ์์ํ ์ ์๋ค.์๋ฅผ ๋ค์ด, job A์ ๋ ์๊ฐ์ด 3์ ์ด๊ณ job B์ ์์์๊ฐ์ด 3์์ด๋ฉด ๋ ์ผ ๊ฑฐ๋ฆฌ๋ ์ฐ๋ฌ์ ํ ์ ์๋ค. ๋ฐ๋ฉด job C๊ฐ 3~5์์ด๊ณ job D๊ฐ 4~6์์ด๋ฉด ๋ ์ผ์ ์ผ์ ์๊ฐ ๋ฒ์๊ฐ ๊ฒน์น๋ฏ๋ก ๊ฐ์ดํ์ง ๋ชปํ๋ค.(3) ์ด๋, ๊ฒน์น์ง ์๊ฒ ์ผ์ ํด์, ์ต๋ ์ด์ต์ ์ป์ผ๋ ค๊ณ ํ๋ค. ์ฃผ์ด์ง ์ผ๊ฑฐ๋ฆฌ๋ค ์ค์์ ๊ฐ์ง ์ ์๋ ์ต๋ ์ด์ต์ ๋ช์ธ๊ฐ?2. ์ ๊ทผ ๋ฐฉ์KEY WORD: DP(1) ์ฃผ์ด์ง ๋ฌธ์ ๊ฐ ์์์๊ฐ, ๋์๊ฐ, ์ด์ต์ ๋ฐ๋ก ๋ฐ๋ก ์ฃผ๊ธฐ์ ์ด๋ฅผ ํ๋์ ์ผ(job) ๋จ์๋ก ํ๋๋ก ๋ฌถ..
2024.08.20
์๊ณ ๋ฆฌ์ฆ/๋ฌธ์ ํ์ด
99ํด๋ฝ ์ฝํ
์คํฐ๋ 28์ผ์ฐจ + [๋ฐฑ์ค] 1874 ์คํ ์์ด java ํ์ด
1. ๋ฌธ์ ์ค๋ช
๋ฌธ์ ๋งํฌ2. ์ ๊ทผ ๋ฐฉ์KEY WORD: DATA STRUCTURE(0) ํ์ฌ ์กฐํ ์ค์ธ ์๋ฅผ value, ์ถ๋ ฅํด์ผ ํ๋ ์๋ฅผ now๋ผ๊ณ ํด๋ณด์.(1) value (2) stack์ top๊ณผ now๋ฅผ ๋น๊ตํ๋ค.(3) top์ด ํฌ๋ฉด ์ด๋ค ๋ฐฉ๋ฒ์ ์จ๋ ์์ด์ ๋ง๋ค ์ ์๋ค. NO๋ฅผ ์ถ๋ ฅํ์.(์๋ํ๋ฉด, ์์ด์ ๋ฌด์กฐ๊ฑด stack์์ pop๋๋ ๊ฐ์ผ๋ก ๋ง๋ค์ด์ผ ํ๊ธฐ ๋๋ฌธ์ด๋ค. stack์๋ ์ค๋ฆ์ฐจ์์ผ๋ก ๊ฐ์ด ์ ์ฅ๋๊ธฐ์, ํ stack์ top ๊ฐ์ด ํฌ๋ค๊ณ ์๋ก push๋ฅผ ๋ฐ์ผ๋ฉด ๋ ํฐ ๊ฐ๋ฐ์ ๋ค์ด์ค์ง ์๋๋ค. stack์ top์ด now๋ณด๋ค ์์ ๋๋ ๊ฐ์ ๊ฐ์ด ๋ค์ด์ฌ ๋๊น์ง ๊ธฐ๋ค๋ฆฌ๋ฉด ๋๋ ๊ฒ๊ณผ ์๋ฐ๋๋ค.)(4) top == now ์ด๋ฉด stack์์ popํด์ ๊ฐ์ ๋บ๋ค.Stack์ ์ง์ง sta..
2024.08.18
์๊ณ ๋ฆฌ์ฆ/๋ฌธ์ ํ์ด
99ํด๋ฝ ์ฝํ
์คํฐ๋ 18์ผ์ฐจ TIL + [๋ฐฑ์ค] 5547 ์ผ๋ฃจ๋ฏธ๋ค์ด์
java ์๋ฒฝ ์ค๋ช
! ^^
1. ๋ฌธ์ ์ค๋ช
2. ์ ๊ทผ ๋ฐฉ์KEY WORD: BFS, IDEAํด๋น ๋ฌธ์ ๋ ๋ฌธ์ ๋ฅผ ํ๊ธฐ ์ํ IDEA๋ง ์๊ฐํด๋ธ๋ค๋ฉด ๊ฐ๋จํ BFS ๋ฌธ์ ์ด๋ค. ๋ฌธ์ ์ ๋ํ ์ ๊ทผ ๋ฐฉ์์ ๋ค์๊ณผ ๊ฐ๋ค.(1) ์
๋ ฅ๋ฐ์ ์ขํ์ ๋ณ๋๋ฆฌ ๋ถ๋ถ๋ ํ์ธํธ๋ฅผ ์น ํ ์ ์๋ค. ๊ฐ๋ นํ๋์์ผ๋ก ์น ํ ๋ถ๋ถ์ ๋ด๋ผ. ๋ง์ฝ ์
๋ ฅ ์ขํ ๊ทธ๋๋ก 2์ฐจ์ ๋ฐฐ์ด์ ๋ง๋ ๋ค๋ฉด, ํด๋น ๋ณ๋๋ฆฌ ๋ถ๋ถ์ ๋ฐฐ์ด์ ๋ฒ์ด๋๊ฒ ๋์ด, ํ์ธํธ๋ฅผ ์น ํ ๋ ๊ณจ์น๊ฐ ์ํ์ง๋ค. (์์นซ ์๋ชปํ๋ฉด OutOfArrayIndex ์๋ฌ๊ฐ ๋๊ธฐ ๋๋ฌธ์ด๋ค!!)๋ฐ๋ผ์ ์ฐ๋ฆฌ๋ ํด๋น ์ขํ๋ ๋ฐฐ์ด ๋ด์์ ๋ฐ์ ์ ์๋๋ก 2์ฐจ์ ๋ฐฐ์ด์ ํ
๋๋ฆฌ๊น์ง ๋๋ํ๊ฒ ๋ง๋ค๊ณ , ์ฌ๊ธฐ์ ์
๋ ฅ๋ฐ์ ์ขํ๊ฐ๋ค์ ์ง์ด๋ฃ๋๋ค.int [][] map = new int [row+2][col+2]๊ทธ๋ฌ๋ฉด ์ด๋ ๊ฒ ๋ฐ์ ์ ์๋ค. ํ๋์์ผ..
2024.08.08
์๊ณ ๋ฆฌ์ฆ/๋ฌธ์ ํ์ด
99 ํด๋ฝ ์ฝํ
์คํฐํฐ 16์ผ์ฐจ TIL + ํ๋ก๊ทธ๋๋จธ์ค N-queen java ์ฌ์ด ํ์ด!
1. ๋ฌธ์ ์ค๋ช
๋ฌธ์ ์ค๋ช
2. ์ ๊ทผ ๋ฐฉ์KEY WORD : BACK-TRACKING(0) ์ฌ์ ์ธํ
1์ฐจ์ ๋ฐฐ์ด(arr)์ n์ ํฌ๊ธฐ๋งํผ ๋ง๋ค๊ณ ๋ฐฐ์ด์ index = ํ , ๋ฐฐ์ด์ value = ์ด๋ก ์๊ฐํ๋ค.์๋ฅผ ๋ค์ด ๋ฐฐ์ด์ด ๋ค์๊ณผ ๊ฐ์ ๋, ๊ทธ๋ฆผ์ผ๋ก ๋ํ๋ด๋ฉด ์ด๋ ๊ฒ ๋๋ค.index(ํ)0123value(์ด)1302(1) ๋ง์ฝ์ arr[i] = j ๋ผ๊ณ ํ๋ค๋ฉด 2์ฐจ์ ๋ฐฐ์ด [i] [j] ์ ํธ์ ๋๊ฒ ๋ค๋ ์๋ฆฌ์ด๋ค. ์ด๊ฒ ๊ฐ๋ฅํ์ง ์ฒดํฌํ๋ค. ์ฒดํฌํ๋ ๋ฐฉ๋ฒ์0 ~ i-1 ๊น์ง์ ๋ฐฐ์ด ๊ฐ์ ์ด์ฉํด, ์ด์ ์ ๋๋ ํธ์ ๊ณต๊ฒฉ ๊ฒฝ๋ก์ ๊ฒน์น๋์ง ํ์ธํ๋ฉด ๋๋ค. ํ์ธ๋ฒ์ ๋ค์๊ณผ ๊ฐ๋ค.(1-1) ์ขํ๋จ ํ์ธ๋๊ฐ์ ์ด ์ผ์นํ๋ ๊ฐ๋ค์ ๋ชจ๋ ํ+์ด์ ํฉ์ด ๊ฐ๋ค. ์ด๋ฅผ ์ด์ฉํ๋ค. ์ฐ๋ฆฌ์ ๊ฒฝ์ฐ๋ index๊ฐ ํ์ด๊ณ value๊ฐ ์ด..
2024.08.06
์๊ณ ๋ฆฌ์ฆ/๋ฌธ์ ํ์ด
99 ํด๋ฝ ์ฝํ
์คํฐํฐ 15์ผ์ฐจ TIL + ํ๋ก๊ทธ๋๋จธ์ค ์์ ์ฐพ๊ธฐ java
1. ๋ฌธ์ ์ค๋ช
๋ฌธ์ ์ค๋ช
2. ์ ๊ทผ ๋ฐฉ์KEY WORD: ๋ธ๋ฃจํธ ํฌ์ค(1) ๋ฌธ์์ด๋ก ๋ฐ์ ์ซ์๋ฅผ ํ ์๋ฆฟ์๊ฐ ๋๊ฒ ๋๋์ด์ ๋ฐฐ์ด์ ์ ์ฅํ๋ค.(2) ์ ์ฒด ์ซ์๊ฐ n๊ฐ๋ผ๋ฉด ๊ทธ ์ค k๊ฐ๋ฅผ ๋ฝ์์ ๋์ดํ๋ค. (์์ด, k = 1 ~ n )(3) ๋์ด๋ k๊ฐ์ ์๋ฅผ ํฉ์ณ์ ํ๋์ ์ซ์๋ก ๋ง๋ค๊ณ , ์์ ํ๋ณํ๋ค. (์์ ํ๋ณ๋ฒ ์ด์ฉ)(4) ์์ ํ๋ณ์ด ํ์ ๋๋ฉด ํด๋น ์๊ฐ ์ด์ ์ ๋์๋์ง, hashSet์ผ๋ก ์ฒดํฌํ๋ค. ์์ผ๋ฉด, ์์์ ๊ฐ์๋ฅผ +1 ์ฌ๋ฆฐ๋ค. โป์ถ์ โป(1)๋๋ ํ์๋ฆฌ ์๋ฅผ ํฉ์น๋ ๊ฒ์ ์๋์ ์ * 10 + ์๋ก ๋ค์ด์จ ํ ์๋ฆฌ ์๋ก ๊ทธ๋ ๊ทธ๋ ๋ฐ๋ก ํ๋ค.(2)์์ ํ๋ณ๋ฒ์ ๋ชจ๋ฅธ๋ค๋ฉด, ์ ๋ฆฌ ์ ํ ์ฌ๋ ๋งํฌ๋ฅผ ๋ณด๊ณ ์ค๊ธฐ ๋ฐ๋๋ค. ํด๋น ๋งํฌ์์๋ ์ n์ ์ ๊ณฑ๊ทผ๊น์ง๋ง ๋๋ ์ ํ์ธํ๋ฉด ๋๋์ง ๋์์๋ค.(3)์..
2024.08.06
์๊ณ ๋ฆฌ์ฆ/๋ฌธ์ ํ์ด
99ํด๋ฝ ์ฝํ
์คํฐ๋ 13์ผ์ฐจ TIL + Programmers ์
๊ตญ ์ฌ์ฌ๋ java
1. ๋ฌธ์ ์ค๋ช
๋ฌธ์ ๋งํฌ2. ์ ๊ทผ ๋ฐฉ์KEY WORD: ์ด๋ถ ํ์๋ฌด์์ ๊ธฐ์ค ์ผ๋ก ์ด๋ถํ์์ ํด์ผํ ๊น?์ด๋ถ ํ์ ๋ฌธ์ ๋ฅผ ํ ๋, ์ ์ผ ์ด๋ ค์ด ๋ถ๋ถ์ด๋ค. ์ด๋ ค์ด ๋ฌธ์ ์ผ์๋ก ๋ฌด์์ ๊ธฐ์ค์ผ๋ก ์ด๋ถ ํ์์ ํด์ผํ ์ง ๊ฐ์ด ์์ง ์๋๋ค. ๋ ๋ํ ๊ทธ๋ฌ๋ค. ๊ทธ๋์ ๋ค๋ฅธ ์ฌ๋์ ํ์ด ์์ด๋์ด๊น์ง ๋ดค๋ค. ๋ถ๋ช
1๋
์ ์ ๊ฐ์ ๋ฌธ์ ๋ฅผ ๋ฐฑ์ค์ผ๋ก ํ์๋๋ฐ, ์ ๋ ์ฌ๋ผ์ ์ข ์ข์ ํ๋ค ใ
(1) ๊ธฐ์ค : M ์๊ฐ ๋น ๊ฐ ์ฌ์ฌ๋์์ ์ฒ๋ฆฌํ๋ ์ฌ๋์ ์๋ด ๊ธฐ์ค์์ ์ด๋ ค์ ๋ ์ ์ ๊ท์น - ์ฌ์ฌ๋๊ฐ ๋น๋๋ผ๋, ์ฌ๋์ ๋ค๋ฅธ ์ฌ์ฌ๋๊ฐ ๋น ๋๊น์ง ๊ธฐ๋ค๋ ธ๋ค๊ฐ ๋ค์ด๊ฐ ์ ์๋ค. ์๋ค. ์ด ์์จ์ฑ ๋๋ฌธ์, ๋ฌธ์ ์ ์ ํ์ ์๊ฐํ์ง ๋ชปํ ๊ฒ ๊ฐ๋ค. ํ์ง๋ง ๊ธฐ์ตํด์ผํ ์ ์, ๋ฌด์์ ์ด๋ถ ํ์ ํด์ผํ ์ง ๋ชจ๋ฅด๊ฒ ์ ๋๋, ๋ฐํํ๋ ๋ต์ ๊ธฐ์ค์ผ๋ก ํ์ํ ๊ฒ์ด..
2024.08.03
์๊ณ ๋ฆฌ์ฆ/๋ฌธ์ ํ์ด
99ํด๋ฝ ์ฝํ
์คํฐ๋ 9์ผ์ฐจ TIL + ๋ฐฑ์ค 1927 ์ต์ํ java
1. ๋ฌธ์ ์ค๋ช
๋ฌธ์ ๋งํฌ2. ์ ๊ทผ ๋ฐฉ์์ด๊ฑด ๋ญ Priority Queue ์ธ ์ค ์๋๊ณ ๋ฌป๋ ๋ฌธ์ ์๋ค.PQ๋ฅผ ๋ง๋ ๋ค. (default๋ก ์ค๋ฆ์ฐจ์ ์ ๋ ฌ์ด๋ ๊ฑด๋ค์ผ ๊ฒ์ด ์๋ค.)๋ฌธ์ ์์ ์ ๊ณตํ๋ Order์ ๋ฐ๋ฅธ๋ค. (0์ด๋ฉด ์ถ๋ ฅ, ๋๋จธ์ง๋ฉด ์ ์ฅ)3. ์ฝ๋ ๋ถ์import java.io.*;import java.util.*;public class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); PriorityQueue pq = new PriorityQueue(); ..
2024.07.30
์๊ณ ๋ฆฌ์ฆ/๋ฌธ์ ํ์ด
99ํด๋ฝ ์ฝํ
์คํฐ๋ 8์ผ์ฐจ TIL + Programmers ๋ ํ์ ํฉ ๊ฐ๊ฒ ๋ง๋ค๊ธฐ (java)
1. ๋ฌธ์ ์ค๋ช
๋ฌธ์ ๋งํฌ2. ์ ๊ทผ ๋ฐฉ์KEY WORD: GREEDY๋ฌธ์ ์ค๋ช
๊ทธ๋๋ก Queue ๋ ๊ฐ๋ฅผ ๋ง๋ ๋ค.์ดํฉ์ด ํฐ ์ชฝ์ queue.peek()์ poll ํด์ ๋ค๋ฅธ ์ชฝ ํ์ ์ถ๊ฐํ๋ค.2๋ฒ ์ข
๋ฃ ํ ๋ ํ์ ์ดํฉ์ด ๊ฐ์์ง ๊ฒ์ฌํ๋ค.๋ง์ฝ ๊ฐ์ผ๋ฉด, 2๋ฒ์ ํํ ํ์๋ฅผ ์ถ๋ ฅํ๋ค. ๋ง์ฝ ๋ ํ์ ์ด ๊ธธ์ด + 1 ๋งํผ ํด๋ ๋ ํ์ ํฉ์ด ๊ฐ์ง ์์ผ๋ฉด -1์ ์ถ๋ ฅํ๊ณ ์ข
๋ฃ ํ๋ค.๋ ํ์ ์ด ๊ธธ์ด + 1 ๋งํผ ๋ฐ๋ณตํด์ผ ํ๋ ์ด์ ๋ ๋ค์์ ์ค๋ช
.3. ์ฝ๋ ๋ถ์import java.io.*;import java.util.*;class Solution { public int solution(int[] queue1, int[] queue2) { ArrayDeque a = new ArrayDeque()..
2024.07.29
์๊ณ ๋ฆฌ์ฆ/๋ฌธ์ ํ์ด
99ํด๋ฝ ์ฝํ
์คํฐ๋ 5์ผ์ฐจ TIL + Programmers ๋ฒ ์คํธ ์จ๋ฒ
1. ๋ฌธ์ ์ค๋ช
๋ฌธ์ ๋งํฌ2. ์ ๊ทผ ๋ฐฉ์KEY WORD: Sorting, HashMap์์
๊ฐ์ฒด๋ฅผ ๋ง๋ ๋ค. ( ๋ฉค๋ฒ ๋ณ์: ์์ ์ ๊ณ ์ ๋ฒํธ, ์ฅ๋ฅด, ํ๋ ์ด ํ์ )์
๋ ฅ ๊ฐ๋ค์ ์ ๋ถ ์์
๊ฐ์ฒด๋ก ๋ฐ๊ฟ์ ArrayList์ ์ถ๊ฐํ๋ค.HashMap์ ๋ง๋ ๋ค. Key = ์ฅ๋ฅด , value = ์ฅ๋ฅด์ ํด๋นํ๋ ๊ณก๋ค์ ํ๋ ์ด ์ดํฉ2๋ฒ์์ ๋ง๋ ArrayList๋ฅผ ์ ๋ ฌํ๋ค. ์ ๋ ฌ ๊ธฐ์ค์ ๋ฌธ์ ๊ทธ๋๋ก๋ค. -> Comparator๋ฅผ ๋จ์ํํ Lamda ์์ ์ด์ฉํด ๊ตฌํ๋ต๋ณ์ฉ ansList๋ฅผ ๋ง๋ค๊ณ , ๋ต๋ณ์ ์ฅ๋ฅด๋ณ๋ก ๋ช ๋ฒ ๋ค์ด๊ฐ๋์ง๋ฅผ ๋ํ๋ด๋ genreAddedCount๋ผ๋ HashMap๋ ํ๋ ๋ ๋ง๋ ๋ค.genreAddedCount๋ Key = ์ฅ๋ฅด, value = ์ฅ๋ฅด ๋ณ๋ก ๋ต๋ณ List์ ๋์จ ํ์ ์ด๋ค. .get..
2024.07.27
์๊ณ ๋ฆฌ์ฆ/๋ฌธ์ ํ์ด