CodingTest
346

[์ด๋ก ] ํฌ๋ฃจ์ค์นผ ์๊ณ ๋ฆฌ์ฆ
0. ํ์ต ๋ชฉ์ ํฌ๋ฃจ์ค์นผ ์๊ณ ๋ฆฌ์ฆ์ ๋ชฉ์ ๊ณผ ์๋์๋ฆฌ๋ฅผ ์ดํดํ๋ค.์ต์ ์คํจ๋ ํธ๋ฆฌ๊ฐ ๋ฌด์์ธ์ง ์ดํดํ๋ค.ํธ๋ฆฌ์ ๊ทธ๋ํ์ ์ฐจ์ด์ ์ ์ดํดํ๋ค.1. ํฌ๋ฃจ์ค์นผ (Kruskal) ์๊ณ ๋ฆฌ์ฆ์ด๋?์ฃผ์ด์ง ๊ทธ๋ํ ๋ด์์ ์ต์ ์คํจ๋ ํธ๋ฆฌ๋ฅผ ์ฐพ๋ ์๊ณ ๋ฆฌ์ฆ์ด๋ค.๊ทธ๋ฆฌ๋ํ ๋ฐฉ์์ ์งํ๋๋ฉฐ, ๋ด๋ถ์์ ํธ๋ฆฌ ๊ตฌ์ฑ์ ์ฌ๋ถ๋ฅผ ๊ฐ๋ฆฌ๊ธฐ ์ํด ์ ๋์จ ํ์ธ๋๋ฅผ ํ์ฉํ๋ค. (1) ๊ทธ๋ํ์ ํธ๋ฆฌ์ ์ฐจ์ด๋ ๋ค ๊ฐ์ ๊ณผ ์ ์ ์ผ๋ก ์ด๋ฃจ์ด์ ธ ์์ง๋ง, ๋ค์ ํญ๋ชฉ์์ ์ฐจ์ด๋ฅผ ๋ณด์ธ๋ค. ๊ตฌ๋ถ๊ทธ๋ํํธ๋ฆฌ์ฌ์ดํด์ ์ฌ๋ถ์ฌ์ดํด์ด ์กด์ฌํ ์ ์๋ค.์ฌ์ดํด์ด ์๋ค.๊ฐ์ ์ ๊ฐ์๊ฐ์ ์ ๊ฐ์๋ฅผ ํน์ ํ ์ ์๋ค.์ ์ ์ด N๊ฐ๋ผ๋ฉด ๊ฐ์ ์ ๊ฐ์๋ N-1๊ฐ์ด๋ค.(2) ์ต์ ์คํจ๋ ํธ๋ฆฌ๋?๊ทธ๋ํ ๋ด์ ํธ๋ฆฌ์ ์กฐ๊ฑด์ ๋ง์กฑํ๋ฉด์๋ ๊ฐ์ค์น ๋น์ฉ์ด ์ต์ ๋น์ฉ์ธ ๋ถ๋ถ์งํฉ์ ์๋ฏธํ๋ค.์ฌ๊ธฐ์ ํธ๋ฆฌ์ ์กฐ๊ฑด์ ..
2025.08.25
CodingTest/์๊ณ ๋ฆฌ์ฆ-์ด๋ก

[Java] Fail-Fast Iterator vs Fail-Safe Iterator
0. ํ์ต ๋ชฉ์ iterator.next()๋ฅผ ํ์ฉํ์ฌ Collections์ ์๋ฃ๊ตฌ์กฐ๋ค์ ์ํํ๋ฉด์, ์๋ฃ ๊ตฌ์กฐ ๋ด์ ๊ฐ๋ค์ ์์ ํ๋ ค๊ณ ํ๋ฉด ConcurrntModificationException์ด ๋๋ ์ด์ ๋ฅผ ์ดํดํ๋ค. Fail-Fast Interator์ Fail-Safe Iterator์ ์ฐจ์ด๋ฅผ ์ดํดํ๋ค.1. Fail-Fast ์ ๋ต๊ณผ Fail-Safe ์ ๋ตFail-Fast ์ ๋ต ์ ์์คํ
์๋ ์ค ์คํจ ์ง์ ์ด ์๊ธฐ๋ฉด ๊ทธ ์ฆ์ ๋ชจ๋ ์๋์ ๋ฉ์ถ๋ ์ ๋ต์ด๋ค. ์ด๋ ์คํจ ์ง์ ์ ๋ํ ๋ช
ํํ ํ๋จ๊ณผ ์ผ๊ด์ฑ ์ ์ง๋ฅผ ๋ชฉํ๋ก ํ๋ค.Fail-Safe ์ ๋ต ์ ์์คํ
์๋ ์ค ์คํจ๋ฅผ ๋ง๋ฑ๋จ๋ฆฐ ์ํฉ์๋ ์๋์ ์ค๋จํ์ง ์๋๋ค. ๋ค๋ง ์ต๋ํ ์คํจ๊ฐ ์ปค์ง์ง ์๋ ๋ฐฉํฅ์ผ๋ก ๋์๊ฐ๋ ์ ๋ต์ด๋ค.Java๋ Iterator ํจํด..
2025.07.23
CodingTest/์๊ณ ๋ฆฌ์ฆ-ํ์ด

[๋ฐฑ์ค] 22861 ํด๋ ์ ๋ฆฌ (Large) java ํ์ด
1. ๋ฌธ์ ์ ๋ํ์ฌ ๐ฆ๋ฌธ์ ๋งํฌ: https://www.acmicpc.net/problem/22861(1) ์กฐ๊ฑด ๋ถ์ ๐ํด๋ ๊ตฌ์กฐ ํ์ฑ ๋ช
๋ น์ด๋งจ ๋ง์ง๋ง์ 1์ด ์ค๋ฉด ํด๋ ๊ฐ์ ๋ถ๋ชจ-์์ ๊ด๊ณ๋ฅผ ๋ํ๋๋งจ ๋ง์ง๋ง์ 0์ด ์ค๋ฉด ํน์ ํด๋์ ํ์ผ ์ฝ์
๋ช
๋ น์ดํด๋ ์ด๋ ๋ช
๋ น์ดํด๋ A, ํด๋ B ๊ตฌ์กฐ๋ก ์๋ ค์ฃผ๋ฉด ํด๋ A๋ฅผ B๋ก ์ฎ๊ธด๋ค.ํด๋ ํ์ ํ์ผ ์ + ํ์ผ ์ ํ ์ถ๋ ฅ ๋ช
๋ น์ด2. ์ฝ๋๊ฐ ๋์ค๊ธฐ๊น์ง ๐ ๏ธKEY WORD: ์๋ฎฌ๋ ์ด์
, ์๋ฃ๊ตฌ์กฐ ๋จผ์ ๊ฐ๋
์ ๋๋๊ณ ์ ํ๋ค.์ง์ ํ์ผ: ํด๋น ํด๋์ ์กด์ฌํ๋ ํ์ผ์ด๋ค.ํ์ ํ์ผ: ํด๋น ํด๋์ ํ์ ํด๋ ์ค ์ด๋๊ฐ์ ์กด์ฌํ๋ ํ์ผ์ด๋ค.(0) ํด๋์ ์ข
๋ฅ๋ฅผ ๊ตฌ๋ถํ๋ ์ด์ ํด๋ ์ ๋ฆฌ (small)๋ฅผ ํ๋ฉด์ ์ง์ํ์ผ๊ณผ ํ์ํ์ผ์ ๊ตฌ๋ถ์์ด ๋์ ํ์ฌ ํ์๋ ํ์ด์๋ค์ ํด๋น ํ์ด..
2025.07.22
CodingTest/์๊ณ ๋ฆฌ์ฆ-ํ์ด

[๋ฐฑ์ค] 22860 ํด๋ ์ ๋ฆฌ (small) Java ํ์ด
1. ๋ฌธ์ ์ ๋ํ์ฌ ๐ฆ๋ฌธ์ ๋งํฌ: https://www.acmicpc.net/problem/22860(1) ์กฐ๊ฑด ๋ถ์ ๐๋ฌธ์ ์์ ์๊ตฌํ๋ ํด๋์ ํ์ ํ์ผ ์ข
๋ฅ์ ๊ฐ์๋ฅผ ์ถ๋ ฅํ๋ผ.main ํด๋ ์๋ ๊ฐ์ ์ด๋ฆ์ ํด๋๋ 2๊ฐ ์ด์ ์กด์ฌํ ์ ์๋ค.ํ ํด๋๋ ์์ ์ ๋ ๋ฒจ์์ ๊ฐ์ ์ด๋ฆ์ ํ์ผ์ ๋ ๊ฐ ์ด์ ๊ฐ์ง์ง ๋ชปํ๋ค.```bash-- ๋ถ๊ฐ๋ฅ ์์FolderAใดfile1ใดfile1 # 2. ์ฝ๋๊ฐ ๋์ค๊ธฐ๊น์ง ๐ ๏ธ**`KEY WORD`: `์๋ฃ๊ตฌ์กฐ`, `์ ๋์จํ์ธ๋`** ## (0) ์๋ฃ ๊ตฌ์กฐ ์ธํ
ํด๋น ๋ฌธ์ ๋ ๋ค์๊ณผ ๊ฐ์ ์ด์ ๋ก HashMap 3๊ฐ์ ์ ๋์จ ํ์ธ๋์ฉ `parents` ๋ฐฐ์ด์ด ํ์ํ๋ค.1. ํด๋ ์ด๋ฆ๋ง ์ฃผ์ด์ง๋ค. ํด๋ ์ด๋ฆ์ผ๋ก๋ index ํ์ฉ ํ์ด๊ฐ ์ด๋ ต๋ค. - ๊ณ์ธต ๊ตฌ์กฐ ํํ ..
2025.07.22
CodingTest/์๊ณ ๋ฆฌ์ฆ-ํ์ด

[๋ฐฑ์ค] 22859 HTML ํ์ฑ ํ์ด
1. ๋ฌธ์ ์ ๋ํ์ฌ ๐ฆ๋ฌธ์ ๋งํฌ: https://www.acmicpc.net/problem/22859(1) ์กฐ๊ฑด ๋ถ์ ๐/* * 1. main ํ๊ทธ ์ง์ฐ๊ธฐ v* 2. div ๋ณ๋ก ๊ตฌ๋ถ v* 3. div์์ title ์ถ์ถํด์ ์ถ๋ ฅ v* 4. div ๋ด๋ถ์ Pํ๊ทธ ํ๋๋น ๋ค์ ๊ณผ์ ์งํ * (1) P ํ๊ทธ ๋ด๋ถ์ ๋ชจ๋ ํ๊ทธ ์ง์ฐ๊ธฐ * (2) ๋ฌธ์ฅ ์์๊ณผ ๋์ ๊ณต๋ฐฑ ์ง์ฐ๊ธฐ * (3) ๊ณต๋ฐฑ 2๊ฐ์ง๋ฆฌ๋ ํ๋๋ก ๋ฐ๊พผ๋ค. * (4) P ํ๊ทธ ์์ฒด๋ฅผ ์ง์ฐ๊ธฐ * */ 2. ์ฝ๋๊ฐ ๋์ค๊ธฐ๊น์ง ๐ ๏ธKEY WORD: ์ ๊ท ํํ์ ์ ๊ท ํํ์์ผ๋ก div ํ๊ทธ ์ถ์ถ -> title๋ง ๋นผ์ ์ถ๋ ฅ์ ๊ท ํํ์์ผ๋ก p ํ๊ทธ ์ถ์ถ -> ์์ 4๊ฐ์ง ๊ณผ์ ํ๊ณ ๊ธ๋ง ์ถ๋ ฅ(1)..
2025.07.21
CodingTest/์๊ณ ๋ฆฌ์ฆ-ํ์ด

[๋ฐฑ์ค] 22856 ํธ๋ฆฌ ์ํ java ํ์ด
1. ๋ฌธ์ ์ ๋ํ์ฌ ๐ฆ๋ฌธ์ ๋งํฌ: https://www.acmicpc.net/problem/22856(1) ์กฐ๊ฑด ๋ถ์ ๐์ค์ ์ํ๋ก ๋์ค๋ ๋ง์ง๋ง ๋
ธ๋๋ฅผ, ๋ฌธ์ ์์ ์ฃผ์ด์ง ์กฐ๊ฑด์ธ '์ ์ฌ ์ค์ ์ํ' ๋ฐฉ์์ผ๋ก ๋
ธ๋๋ฅผ ์ํ ํ์ ๋, ๋ช ๋ฒ์ ์ด๋๋ง์ ์ค์ ์ํ ์ ๋ง์ง๋ง ๋
ธ๋์ ๋๋ฌํ ์ ์๋์ง ์ด๋ ํ์๋ฅผ ๊ตฌํด๋ผ์ฌ๊ธฐ์ ์ด๋์ด๋ ํ๋์ใ
ข ๋
ธ๋์์ ๋ค๋ฅธ ๋
ธ๋๋ก ํ ๋ฒ ์์ง์ด๋ ํ์์ด๋ค.2. ์ฝ๋๊ฐ ๋์ค๊ธฐ๊น์ง ๐ ๏ธKEY WORD: DFS ์ค์ ์ํ ๋ง์ง๋ง ๋
ธ๋ ๊ตฌํ๊ธฐ์ ์ฌ ์ค์ ์ํ ๊ตฌํํด์ ๋ง์ง๋ง ๋
ธ๋๊น์ง์ ๋ฐฉ๋ฌธ ํ์ ๊ตฌํ๊ธฐ(1) ์๊ฐ๋ณต์ก๋ ๋ถ์ โณ์ต๋ ๋
ธ๋ ๊ฐ์๊ฐ $100,000$ ๊ฐ ์ธ๋ฐ, DFS๋ $O(V + E)$ ์์ผ๋ก, $200,000$ ๊ฐ๋ฅผ ์ ๋๋๋ค.3. ์ฝ๋ ๐import java.i..
2025.07.19
CodingTest/์๊ณ ๋ฆฌ์ฆ-ํ์ด

[๋ฐฑ์ค] 21922 ํ๋ถ ์ฐ๊ตฌ์ ๋ฏผ์ java ํ์ด
1. ๋ฌธ์ ์ ๋ํ์ฌ ๐ฆ๋ฌธ์ ๋งํฌ: https://www.acmicpc.net/problem/21922(1) ์กฐ๊ฑด ๋ถ์ ๐๋ฌธ์ ์ ๋์จ ๋ฌผ๊ฑด 4๊ฐ์ง์ ๋ฐ๋ผ ๋ฐ๋์ ๋ฐฉํฅ์ด ๋ฐ๋๋ ๊ฒ์ ๋ํ๋ด๋ ๊ฒ ๊ด๊ฑด์ด๋ค.2. ์ฝ๋๊ฐ ๋์ค๊ธฐ๊น์ง ๐ ๏ธKEY WORD: ์๋ฎฌ๋ ์ด์
, BFS ๋งค๋ฒ ์ฌ๋ฐฉ ํ์ํ๋ ๊ฒ์ด ์๋๊ณ , ์ด๊ธฐ์ ์ ํ ๋ฐฉํฅ์ ๋ฌผ๊ฑด์ ๋ง๋์ง ์๋ ํ ์ ์งํด์ผ ํ๋ค.๋ฌผ๊ฑด์ ๋ง๋๋ฉด, ๊ทธ๊ฒ์ ๋ง๊ฒ ๋ฐฉํฅ์ ๋ฐ๊ฟ์ค์ผ ํ๋ค.๋ฐฉํฅ ๋ฐฐ์ด์ ์ผ๊ณ , ๊ฐ ๋ฌผ๊ฑด๋ง๋ค ํจ์ํํ์ฌ ๊ทธ๊ฒ์ ๋ง๊ฒ ๋ฐฉํฅ์ ๋ฐ๊ฟ์ฃผ๋ ๊ฒ์ผ๋ก ๊ตฌํํ๋ค.(1) ์๊ฐ๋ณต์ก๋ ๋ถ์ โณ์ต์
์ ๊ฒฝ์ฐ 4๋ฐฉ ์์ง์ ๋ชจ๋๊ฐ ์ ์ฒด ์ฐ๊ตฌ์ค์ ๋ ์๋ ์๋ค. ๊ทธ ๊ฒฝ์ฐ๋ฅผ ๊ณ์ฐํด๋ณด๋ฉด,$2,000 \times 2,000 \times 4 = 16,000,000$ ๋ฒ์ ์ฐ์ฐ ํ์๊ฐ ๋๋ค.3..
2025.07.15
CodingTest/์๊ณ ๋ฆฌ์ฆ-ํ์ด

[๋ฐฑ์ค] 20165 ์ธ๋ด์ ๋๋ฏธ๋
ธ ์ฅ์ธ ํธ์
1. ๋ฌธ์ ์ ๋ํ์ฌ ๐ฆ๋ฌธ์ ๋งํฌ: https://www.acmicpc.net/problem/20165(1) ์กฐ๊ฑด ๋ถ์ ๐ํด์ด ์กด์ฌํ๊ณ , ๋งค ํด๋ง๋ค ๊ณต๊ฒฉ์๊ฐ ๊ณต๊ฒฉํ๊ณ , ์๋น์๊ฐ ์๋นํ๋ค.๊ณต๊ฒฉ์์ ํ๋์ ๋ค์๊ณผ ๊ฐ๋ค.ํน์ ๋๋ฏธ๋
ธ๋ฅผ ๋์๋จ๋ถ ์ค ํ ๋ฐฉํฅ์ผ๋ก ๋์ดํธ๋ฆฐ๋ค.ํด๋น ๋๋ฏธ๋
ธ์ ๊ธธ์ด-1๋งํผ ๊ทธ ๋ฐฉํฅ์ ๋๋ฏธ๋
ธ๊ฐ ๋์ด์ง๋ค.์ฐ์์์ฉ์ด ์ผ์ด๋๋ค. (์ฆ ๋์ด์ง ๋๋ฏธ๋
ธ์ ๊ธธ์ด๋งํผ ๊ทธ ์ดํ ๋๋ฏธ๋
ธ๊ฐ ์ถ๊ฐ๋ก ๋ ๋์ด์ง๊ณ , ์ด๊ฒ์ด ๋ ์ด์ ๋์ด์ง ๋๋ฏธ๋
ธ๊ฐ ์์ ๋๊น์ง ๋ฐ๋ณตํ๋ค.) ์๋น์๋ ๋๋ฏธ๋
ธ ํ๋๋ฅผ ์ผ์ผ์ผ ์ธ์ด๋ค.2. ์ฝ๋๊ฐ ๋์ค๊ธฐ๊น์ง ๐ ๏ธKEY WORD: ์๋ฎฌ๋ ์ด์
, BFS ๊ณต๊ฒฉ์ ๊ตฌํํ ์ ์๋๋๊ฐ ๋ฌธ์ ํ์ด์ ๊ด๊ฑด์ด์๋ค.ํ์๋ ์ฌ๊ท๊ฐ ์๊ฐ ์๋ชจ๋ฅผ ๋์ด๊ณ ๊ณ์ฐ์ ๋ณต์กํ๊ฒ ๋ง๋ค ๊ฒ์ด๋ผ ํ๋จ๋์ด BFS๋ก ์ด๋ฅผ ..
2025.07.15
CodingTest/์๊ณ ๋ฆฌ์ฆ-ํ์ด

[๋ฐฑ์ค] 20164 ํ์ ํ๋ฆญ ํธ์ java ํ์ด
1. ๋ฌธ์ ์ ๋ํ์ฌ ๐ฆ๋ฌธ์ ๋งํฌ: https://www.acmicpc.net/problem/20164(1) ์กฐ๊ฑด ๋ถ์ ๐ํ์ฌ ์กฐํ ์ค์ธ ์์ ์๋ฆฟ์ ์ค ํ์ ์ธ ์๋ฆฟ์์ ๊ฐ์ ์ธ๊ธฐ๊ณ์ฐ์ ๋ค์๊ณผ ๊ฐ์ด ์งํํ์ฌ ๋ณด๋ ์์ ์๋ฆฟ์๊ฐ 1์ด๋ฉด ๊ณ์ฐ ์ข
๋ฃ์๋ฆฟ์๊ฐ 2์ด๋ฉด ๋๊ฐ๋ก ์ชผ๊ฐ์ ๋ํ ๋ค์ 1๋ฒ๋ถํฐ ๋ค์ ์์์๋ฆฟ์๊ฐ 3์ด์์ด๋ฉด ์์๋ก 3๋ฉ์ด๋ฆฌ์ ์ซ์๋ก ์ชผ๊ฐ ๋ค ์ ๋ถ ๋ํ๊ธฐ. ์ดํ 1๋ฒ๋ถํฐ ๋ค์ ์์2. ์ฝ๋๊ฐ ๋์ค๊ธฐ๊น์ง ๐ ๏ธKEY WORD: ์๋ฎฌ๋ ์ด์
, ์ํ๋ฌธ์ ์์ ์ ์๋ ์กฐ๊ฑด์ ์ ๋ถ ํํํ๋ฉด ๋๋ค. ์๋ฆฟ์๊ฐ ์ต๋ 9๊ฐ์ด๊ณ , ์ฌ๊ท๋ฅผ ๊ฑฐ๋ญํ ์๋ก ์๋ฆฟ์์ ๊ฐ์๋ ์ค์ด๋ค ๊ฒ์ด๋ฏ๋ก, ์๊ฐ ์ด๊ณผ ๊ฑฑ์ ์ ์๋ค.3. ์ฝ๋ ๐import java.io.*;import java.util.*;public class Mai..
2025.07.15
CodingTest/์๊ณ ๋ฆฌ์ฆ-ํ์ด

๋ฐฑ์ค 17837 ์๋ก์ด ๊ฒ์ 2 Java ํ์ด
1. ๋ฌธ์ ์ ๋ํ์ฌ ๐ฆ๋ฌธ์ ๋งํฌ: https://www.acmicpc.net/problem/17837(1) ์กฐ๊ฑด ๋ถ์ ๐A. ๋ง์ ๋ํ ๊ท์น๋ง์ ๊ฐ์ ๋์๊ฐ๋ ค๋ ๋ฐฉํฅ์ด ์๋ค.ํ๋์ ์นธ์ ์ฌ๋ฌ ๋ง์ด ์์ ์, ์ท๋์ด์ฒ๋ผ ๊ธฐ์กด์ ์๋ ๋ง์ด ์๋ก ํด๋น ์นธ์ ์จ ๋ง์ ์
๋๋ค. (stack)ํ๋์ ๋ง์ด ์์ ์ ๋ฐฉํฅ์ผ๋ก ์์ง์ผ ๋ ์
ํ ๋ง๋ค๋ ๊ฐ์ด ์์ง์ธ๋ค. (์ด๋ ์์ ์ ๋์๊ฐ๋ ค๋ ๋ฐฉํฅ์ ๋ฐ๋์ง ์๋๋ค.)๋ง๋ค์ ์์ ์ด ๋์๊ฐ ๋ค์ ์นธ์ ์๊น์ ๋ฐ๋ผ ํ๋์ด ๋ฏธ์ธํ๊ฒ ๋ฐ๋๋ค.B. ๋ณด๋ ์นธ ๋ณ ๊ท์นํฐ ์นธ์ ๋ฐ์ ๊ฒฝ์ฐ, ์
์ ๋ง ์ ๋ถ ๊ฐ์ด ์์ง์ด๋ ๊ฑฐ ์ธ์ ํน์ด ์ฌํญ ์์๋นจ๊ฐ ์นธ์ ๋ฐ์ ๊ฒฝ์ฐ, ์์ ์ ํฌํจํ ์
์ ๋ง๋ค์ ์์น๊ฐ ๊ฑฐ๊พธ๋ก ๋์ด์ผ ํ๋ค.(exA->B->C (TOP) ์์ผ๋ก ์
ํ ์์๋ค๋ฉด, C -> B -..
2025.07.15
CodingTest/์๊ณ ๋ฆฌ์ฆ-ํ์ด

[ํ๋ก๊ทธ๋๋จธ์ค] Lv 2 H-Index Java ํ์ด
1. ๋ฌธ์ ์ ๋ํ์ฌ ๐ฆ๋ฌธ์ ๋งํฌ: https://school.programmers.co.kr/learn/courses/30/lessons/42747(1) ์กฐ๊ฑด ๋ถ์ ๐ํ์ฌ ํ์ธ ์ค์ธ ๋
ผ๋ฌธ์ ์ธ์ฉํ์๊ฐ h๋ฒ ์ด์, ์ ์ฒด ๋
ผ๋ฌธ ์ค h๋ฒ ์ด์ ์ธ์ฉ๋ ๋
ผ๋ฌธ์ ์๋ h๊ฐ ์ด์์ด ๋ ์ ์๋ h๊ฐ์ ์ต๋๊ฐ์ ๊ตฌํ๋ผ2. ์ฝ๋๊ฐ ๋์ค๊ธฐ๊น์ง ๐ ๏ธKEY WORD: ์ ๋ ฌ ์ ๋ ฌ๋ก ํ๋ฉด ๋๋ค๋ ๊ฒ์ ๋ช
ํํ๋๋ฐ, ๋ฌธ์ ๋ ์ ๋ฌธ์ฅ์ ์ด๋ป๊ฒ ํด์ํ ๊ฒ์ด๋๋ค.๋ด๊ฐ ์๋ชป ํ์๋ ์ง์ ๊น์ง ๋ํด์, ์ค๋ช
ํ๋ฉด ๋ ๊ฐ์ง๋ก ๋๋ ์ ์์ ๊ฒ ๊ฐ๋ค.์ค๋ฆ์ฐจ์์ผ๋ก ์ ์ฒด ๋
ผ๋ฌธ์ ์ธ์ฉํ์๋ฅผ ์ ๋ ฌ์ด์ ๋ฐฐ์ด์ ์ฒซ ๋ฒ์งธ ๋
ผ๋ฌธ๋ถํฐ ์ํํ๋ฉฐ 2๋ฒ์ ์ํํ๋ค.2-1 ํ์ฌ ์กฐํ ์ค์ธ ๋
ผ๋ฌธ์ ์ธ์ฉ ํ์ ํ์ธ, ์ดํ ๊ทธ ์ค๋ฅธ์ชฝ ๋
ผ๋ฌธ์ ์๋ฅผ ํ์ธํ์ฌ,์ธ์ฉ ํ์ 2..
2025.07.10
CodingTest/์๊ณ ๋ฆฌ์ฆ-ํ์ด

[ํ๋ก๊ทธ๋๋จธ์ค] Lv 2 ๊ฐ์ฅ ํฐ ์ Java ํ์ด
1. ๋ฌธ์ ์ ๋ํ์ฌ ๐ฆ๋ฌธ์ ๋งํฌ: https://school.programmers.co.kr/learn/courses/30/lessons/42746(1) ์กฐ๊ฑด ๋ถ์ ๐๋ฐฐ์ด์ ์ฃผ์ด์ง ์ซ์๋ค์ ์ผ๋ ฌ๋ก ๋์ดํด์ ์ต๋๊ฐ์ ๋ง๋ค์ด์ผ ํ๋ค.[6, 10, 2] -> 62102. ์ฝ๋๊ฐ ๋์ค๊ธฐ๊น์ง ๐ ๏ธKEY WORD: ์ ๋ ฌ, Comparator๋ฐฐ์ด ์งํ์ ๋ค์๊ณผ ๊ฐ์ด ํ๋ค. a, b ๊ฐ ์๋ค๊ณ ํ์ ๋,ab, ba ๊ตฌ์กฐ์ ์ซ์๋ฅผ ๋ง๋ ๋ค .์ด ๋์ ๋์๊ด๊ณ๋ฅผ ๋น๊ตํด์ ๋ด๋ฆผ์ฐจ์์ผ๋ก ์ ๋ฆฌํ๋ค.์ด๋ฅผ ์ํด์ Arrays.sort() ๋ฅผ ์ฌ์ฉํ๊ณ , int๋ฅผ Integer Wrapper Class๋ก ๊ตํํ๋ค.์ด๋ ๊ฒ ํ ์ด์ ๋ Arrays.sort()์ ๋๋ฒ์งธ ์ธ์์ธ Comparator๋ฅผ ์ค๋ฒ๋ผ์ด๋ฉํ ๊ฒฝ์ฐ, ์ฒซ ๋ฒ์งธ ์ธ์๊ฐ ๊ฐ..
2025.07.10
CodingTest/์๊ณ ๋ฆฌ์ฆ-ํ์ด

[ํ๋ก๊ทธ๋๋จธ์ค] Lv 1 K๋ฒ์งธ ์ Java ํ์ด
1. ๋ฌธ์ ์ ๋ํ์ฌ ๐ฆ๋ฌธ์ ๋งํฌ: https://school.programmers.co.kr/learn/courses/30/lessons/427483. ์ฝ๋ ๐import java.util.*;class Solution { public int[] solution(int[] array, int[][] commands) { int [] answer = new int [commands.length]; for(int i = 0; i 4. ํธ๋ฌ๋ธ ์ํ
or ๋ฐฐ์ด ์ ๐์์.
2025.07.10
CodingTest/์๊ณ ๋ฆฌ์ฆ-ํ์ด

[ํ๋ก๊ทธ๋๋จธ์ค] Lv3 ์ด์ค ์ฐ์ ์์ ํ Java ๋ฌธ์ ํ์ด
1. ๋ฌธ์ ์ ๋ํ์ฌ ๐ฆ๋ฌธ์ ๋งํฌ: https://school.programmers.co.kr/learn/courses/30/lessons/42628(1) ์กฐ๊ฑด ๋ถ์ ๐์ด์ค ์ฐ์ ์์ ํ๋ ๋ค์ ์ฐ์ฐ์ด ๊ฐ๋ฅํ ์๋ฃ๊ตฌ์กฐ๋ฅผ ์๋ฏธํ๋ค.I ์ซ์: ํํ์ ๋ช
๋ น์ด๋ ํ์ ์ฃผ์ด์ง ์ซ์๋ฅผ ์ฝ์
D 1: ํ์์ ์ต๋๊ฐ์ ์ญ์ D -1: ํ์์ ์ต์๊ฐ์ ์ญ์ 2. ์ฝ๋๊ฐ ๋์ค๊ธฐ๊น์ง ๐ ๏ธKEY WORD: ์ฐ์ ์์ ํ, HashMap maxHeap, minHeap Java์๋ ์ต๋๊ฐ๊ณผ ์ต์๊ฐ์ ArrayDeque์ฒ๋ผ ๋จธ๋ฆฌ์ ๊ผฌ๋ฆฌ์์ ๋์์ ๋บ ์ ์๋ ์๋ฃ ๊ตฌ์กฐ๊ฐ ์๊ธฐ ๋๋ฌธ์, ์ฐ์ ์์ ํ๋ฅผ ๋ ๊ฐ ํ์ฉํ์ฌ์ผ ํ๋ค.์ด๋ ๋ง์ ์ฌ๋๋ค์ด ๊ถ๊ธํดํ ๊ฒ์ '์ด๋ป๊ฒ ์ด ๋์ Sync๋ฅผ ๋ง์ถ ๊ฑฐ๋' ๋ ๊ฒ์ผ ๊ฑฐ๋ค.๋ง์ฝ ์ซ์ ๋ด๋ฆผ์ฐจ์ ..
2025.07.08
CodingTest/์๊ณ ๋ฆฌ์ฆ-ํ์ด

[ํ๋ก๊ทธ๋๋จธ์ค] Lv3 ๋์คํฌ ์ปจํธ๋กค๋ฌ Java ํ์ด
1. ๋ฌธ์ ์ ๋ํ์ฌ ๐ฆ๋ฌธ์ ๋งํฌ: https://school.programmers.co.kr/learn/courses/30/lessons/42627(1) ์กฐ๊ฑด ๋ถ์ ๐Job์ ์์๋ก๋, ์์
์ ๋ฒํธ, ์์
์ ์์ฒญ ์๊ฐ, ์์
์ ์์ ์๊ฐ์ด ์๋ค. Job์ ๋งค ์ด๋ง๋ค, ๋๊ธฐํ์ ์ ์ฌ๋๋ค.๋๊ธฐํ๋ ๋ค์๊ณผ ๊ฐ์ ์ฝ์์ผ๋ก ๋ด๋ถ ์ฐ์ ์์๊ฐ ์ ํด์ง๋ค.์์ ์๊ฐ์ด ์งง์์๋ก ์ฐ์ ์์๊ฐ ๋๋ค.์์ ์๊ฐ์ด ๊ฐ๋ค๋ฉด ์์ฒญ ์๊ฐ์ด ๋น ๋ฅผ์๋ก ์ฐ์ ์์๊ฐ ๋๋ค.์์์๊ฐ, ์์ฒญ์๊ฐ์ด ๊ฐ๋ค๋ฉด, ์์
๋ฒํธ๊ฐ ์์์๋ก ์ฐ์ ์์๊ฐ ๋๋ค.๋์คํฌ๋ ํ๋์ ์ผ์ ๊ทธ๊ฒ์ ์์์๊ฐ๋งํผ ํด๋ธ๋ค.์ด๋, ์์์ ์์
์ด ๊ทธ๊ฒ์ ์์ฒญ์๊ฐ๋ถํฐ ๋๋ ๋๊น์ง ๊ฑธ๋ฆฐ ์๊ฐ์ a๋ผ๊ณ ํ์ ๋, ๋ชจ๋ ์์
์ a์ ํ๊ท ์ ๊ตฌํ๋ผ. 2. ์ฝ๋๊ฐ ๋์ค๊ธฐ๊น์ง ๐ ๏ธKEY WO..
2025.07.08
CodingTest/์๊ณ ๋ฆฌ์ฆ-ํ์ด

[ํ๋ก๊ทธ๋๋จธ์ค] Lv2 ๋ ๋งต๊ฒ JAVA ํ์ด
1. ๋ฌธ์ ์ ๋ํ์ฌ ๐ฆ๋ฌธ์ ๋งํฌ: https://school.programmers.co.kr/learn/courses/30/lessons/42626(1) ์กฐ๊ฑด ๋ถ์ ๐์ฃผ์ด์ง ๋ชจ๋ ์์์ ์ค์ฝ๋น ์ง์๊ฐ K๋ฅผ ๋์ด์ค ๋๊น์ง ๊ฐ์ฅ ์ ๋งค์ด ๋ ์์์ ํฉ์น๋ค.์์์ ํฉ์น๋ ๊ณต์์ ๋ค์๊ณผ ๊ฐ๋ค.์์ ์์์ ์ค์ฝ๋น ์ง์ = ๊ฐ์ฅ ๋งต์ง ์์ ์์์ ์ค์ฝ๋น ์ง์ + (๋ ๋ฒ์งธ๋ก ๋งต์ง ์์ ์์์ ์ค์ฝ๋น ์ง์ * 2)2. ์ฝ๋๊ฐ ๋์ค๊ธฐ๊น์ง ๐ ๏ธKEY WORD: ์ฐ์ ์์ ํ๋งต๊ธฐ ์ค๋ฆ์ฐจ์์ผ๋ก ์ค ์ธ์ด๋ค.ํ ๋งจ ์์ ์์์ด ์ ์ฒด ์์ ์ค ์ค์ฝ๋น ์ง์ ์ต์๊ฐ์์ผ๋ก ์ด๊ฒ์ด K๋ณด๋ค ๋์ผ๋ฉด ๋ชจ๋ ์์์ด K๋ณด๋ค ์ง์๊ฐ ๋๋ค๋ ๊ฒ์ด๋ค. (์ด๋ ๊ณ์ฐ ๋ฐ๋ณต๋ฌธ์ ํ์ถํ๋ค.)๋ ๊ฐ ๋ฝ์์ ํฉ์น๋ค.์์ธ ์ฒ๋ฆฌ:ํ ์์ ์์์ด ํ๋ ์ดํ๋ก ๋จ..
2025.07.05
CodingTest/์๊ณ ๋ฆฌ์ฆ-ํ์ด

[ํ๋ก๊ทธ๋๋จธ์ค] Lv2 ์ฃผ์ ๊ฐ๊ฒฉ
1. ๋ฌธ์ ์ ๋ํ์ฌ ๐ฆ๋ฌธ์ ๋งํฌ: https://school.programmers.co.kr/learn/courses/30/lessons/42584(1) ์กฐ๊ฑด ๋ถ์ ๐๋งค์ด ์ฃผ์ ๊ฐ๊ฒฉ์ด ํ๋์ฉ ๋์จ๋ค.ํ๋์ ์ฃผ์ ๊ฐ๊ฒฉ์ด ๊ทธ ๋ฐ์ผ๋ก ๋จ์ด์ง์ง ์์ ๊ธฐ๊ฐ์ ๊ตฌํ์ฌ๋ผ[!example][3,1,2,3] ์ผ๋ก ๊ฐ ์ด๋ง๋ค์ ์ฃผ์ ๊ฐ๊ฒฉ์ด ์ฃผ์ด์ก์ ๊ฒฝ์ฐ,0์ด์ ์ฃผ์ ๊ฐ๊ฒฉ์ ๊ทธ ๋ค์ ์ด์ 1๋ก ๋ฐ๋ก ๋จ์ด์ง๋ค. ๋ฐ๋ผ์ ๊ฐ๊ฒฉ์ด ๋จ์ด์ง์ง ์์ ๊ธฐ๊ฐ์ 1์ด์ด๋ค.๋ฐ๋ฉด 1์ด๋์ ์ฃผ์๊ฐ๊ฒฉ์ ์ฃผ์ ๊ฐ๊ฒฉ ๋ฐฐ์ด์ด ๋๋ ๋๊น์ง ๊ทธ๋ณด๋ค ๋ฐ์ผ๋ก ๋จ์ด์ง์ง ์๋๋ค.2. ์ฝ๋๊ฐ ๋์ค๊ธฐ๊น์ง ๐ ๏ธKEY WORD: STACK ํ์ฉ STOCK์ด๋ ํด๋์ค๋ฅผ ๋ง๋ ๋ค. ๋ฉค๋ฒ๋ณ์๋ ํด๋น ์ฃผ์ ๊ฐ๊ฒฉ์ด ๋์๋ ์ด(index)์ ๊ฐ๊ฒฉ(price)์ด๋ค.STACK์ ..
2025.07.03
CodingTest/์๊ณ ๋ฆฌ์ฆ-ํ์ด

[ํ๋ก๊ทธ๋๋จธ์ค] Lv2 ๋ค๋ฆฌ๋ฅผ ์ง๋๋ ํธ๋ญ
1. ๋ฌธ์ ์ ๋ํ์ฌ ๐ฆ๋ฌธ์ ๋งํฌ: https://school.programmers.co.kr/learn/courses/30/lessons/42583(1) ์กฐ๊ฑด ๋ถ์ ๐๋๊ธฐ ์ค์ธ ํธ๋ญ์ด ์์๋๋ก ๋ค๋ฆฌ๋ฅผ ์ง๋๋ค. ๋ค๋ฆฌ๋ ๊ธธ์ด์ ๋ด๊ตฌ๋ ๋ฌด๊ฒ๊ฐ ์กด์ฌํ๋๋ฐ, ์ต๋ ๊ทธ ๊ธธ์ด ์๋งํผ์ ํธ๋ญ๋ง ์ฌ๋ผ๊ฐ ์ ์์ผ๋ฉฐ, ์ฌ๋ผ๊ฐ ํธ๋ญ์ ๋ฌด๊ฒ ํฉ์ด ๋ค๋ฆฌ์ ๋ด๊ตฌ๋ ๋ฌด๊ฒ๋ฅผ ๋์ด์๋ฉด ์๋๋ค. ํธ๋ญ์ 1์ด์ ๋ค๋ฆฌ๋ฅผ ํ ์นธ์ฉ ๊ฑด๋๋ค. ํ์นธ = ๋ค๋ฆฌ์ ๊ธธ์ด/1 2. ์ฝ๋๊ฐ ๋์ค๊ธฐ๊น์ง ๐ ๏ธKEY WORD: ํ ํ์ฉ ๋ชจ๋ ๋๊ธฐ ํธ๋ญ์ด ๋ค๋ฆฌ๋ฅผ ์ง๋ ๋๊น์ง ๋ฐ๋ณตํด์ผํ๋ค.๋ฐ๋ณต์ ๊ธฐ์ค์ ์ด๋จ์์ด๋ค. 1์ด๋ง๋ค ๋ฒ์ค๊ฐ ์์ง์ด๊ณ , ์๋ก์ด ๋ฒ์ค๊ฐ ๋ค๋ฆฌ์ ๋ค์ด์ค๊ธฐ ๋๋ฌธ์ด๋ค. ๋ฌธ์ ์ ์ ์๋ ์กฐ๊ฑด ๊ทธ๋๋ก ๊ตฌํํ๋ฉด ๋๋ ๊ฒ์ด๋ผ์, ์ถ๊ฐ ์ค๋ช
์ SUDO CO..
2025.07.03
CodingTest/์๊ณ ๋ฆฌ์ฆ-ํ์ด

[ํ๋ก๊ทธ๋๋จธ์ค] Lv 2 ํ๋ก์ธ์ค
1. ๋ฌธ์ ์ ๋ํ์ฌ ๐ฆ๋ฌธ์ ๋งํฌ: https://school.programmers.co.kr/learn/courses/30/lessons/42587(1) ์กฐ๊ฑด ๋ถ์ ๐๊ฐ ํ๋ก์ธ์ค๋ ๋ฌด์กฐ๊ฑด ์ฐ์ ์์๊ฐ ๋์ ์์ผ๋ก ์คํ๋๋ค.์ด๋ ์ธ์๋ก ์ฃผ์ด์ง ์ซ์๊ฐ ์๋ ๋๊ธฐ ํ ์ ์์น์ธ ํ๋ก์ธ์ค๊ฐ ์คํ๋๋ ์์๋ ์ธ์ ์ผ๊น?2. ์ฝ๋๊ฐ ๋์ค๊ธฐ๊น์ง ๐ ๏ธKEY WORD: ํ ํ์ฉ ํ๋ก์ธ์ค์ ์คํ ์ฐ์ ์์๊ฐ ๋์ ๊ฒ๋ถํฐ ๋ด๋ฆผ์ฐจ์ํ ์ฐ์ ์์ ํ ๋ง๋ค๊ธฐ(์ฐ์ ์์ ํ๋ '์คํ ๋๊ธฐ ์ค์ธ ํ๋ก์ธ์ค ์ค ์ฐ์ ์์๊ฐ ๋์ ์' ์ด๋ค.ํ๋ก์ธ์ค์ ์๋ ์์น๋ฅผ ๋ด์ ์ผ๋ฐ ํ ๋ง๋ค๊ธฐ์ฐ์ ์์ ํ์ peek()์ ์ฐ์ ์์ == ํ๋ก์ธ์ค์ poll()์ ์ฐ์ ์์์ด๋ฉด, ํ์ฌ ํ๋ก์ธ์ค ์คํํด๋ ๋๋ค. ์ด๋ ํด๋น ํ๋ก์ธ์ค๋ ์ด๋ฏธ ์คํ ํ ์ข
๋ฃํ์ผ๋ฏ..
2025.07.03
CodingTest/์๊ณ ๋ฆฌ์ฆ-ํ์ด

[ํ๋ก๊ทธ๋๋จธ์ค] Lv2 ์ฌ๋ฐ๋ฅธ ๊ดํธ
1. ๋ฌธ์ ์ ๋ํ์ฌ ๐ฆ๋ฌธ์ ๋งํฌ: https://school.programmers.co.kr/learn/courses/30/lessons/12909(1) ์กฐ๊ฑด ๋ถ์ ๐( ๋ฌธ์๋ก ์ด๋ ธ์ผ๋ฉด ๋ฐ๋์ ) ๋ก ๋ซํ์ผ์ง๋ง ์ฌ๋ฐ๋ฅธ ๊ดํธ ๋ผ๊ณ ๋ถ๋ฅผ ์ ์๋ค.๋ฌธ์ ์์ ์ฃผ์ด์ง ์์ ๋ฌธ์์ด์ด ์ฌ๋ฐ๋ฅด๋ฉด true, ์๋๋ฉด false๋ฅผ ์ถ๋ ฅํ๋ผ.2. ์ฝ๋๊ฐ ๋์ค๊ธฐ๊น์ง ๐ ๏ธKEY WORD: ์คํ ํ์ฉ ์ฌ์ ์ค์ : top = stack์ ๋งจ ์๋ถ๋ถ์ ๊ฐ๋ฆฌํด(์ด ๋ค์ด์ค๋ฉด top++ ์ดํ ํด๋น ์๋ฆฌ์ ์๋ก์ด ๊ฐ ์ง์ด๋ฃ๊ธฐ)์ด ๋ค์ด์ค๋ฉด ํ์ฌ top ์์น์ ๊ฐ ์ง์ฐ๊ณ , top-- ํ๊ธฐ ) ๊ฐ ๋ค์ด์๋๋ฐ, top == -1 ์ด๋ฉด, ์ด๋ฏธ ํ์ฌ ๋ฌธ์๋ ์์ ์ ์ง์ด ์๋ค๋ ๊ฒ์ด๋ฏ๋ก false๋ฅผ ์ถ๋ ฅ์ ์ฒด๊ณ์ฐ ์ดํ์ stack์ด ๋น์ด์๋ค๋ฉด, ๋ชจ..
2025.07.03
CodingTest/์๊ณ ๋ฆฌ์ฆ-ํ์ด

[ํ๋ก๊ทธ๋๋จธ์ค] Lv2 ๊ธฐ๋ฅ ๊ฐ๋ฐ
1. ๋ฌธ์ ์ ๋ํ์ฌ ๐ฆ๋ฌธ์ ๋งํฌ: http://school.programmers.co.kr/learn/courses/30/lessons/42586(1) ์กฐ๊ฑด ๋ถ์ ๐๊ฐ ๊ธฐ๋ฅ์ ์ง๋๊ฐ 100%์ผ ๋ ๋ฐฐํฌ๊ฐ ๊ฐ๋ฅํ๋ค.๊ธฐ๋ฅ๋ง๋ค ์์๊ฐ ์๊ณ , ํ์์ ๊ธฐ๋ฅ์ด ๋จผ์ ์ง๋ 100%๊ฐ ๋์์ด๋, ์ ์์๊ฐ ์์ง ์ง๋ 100%๊ฐ ์๋๋ฉด ๊ธฐ๋ค๋ ค์ผ ํ๋ค.์ ์์๊ฐ 100%๊ฐ ๋๋ฉด, ๊ทธ๊ฒ์ ์ฐ์๋ ํ์์ ์ง๋ 100%์ธ ๊ฒ๋ ๊ฐ์ด ๋ฐฐํฌ๋๋ค.(์ฆ ํน์ ๋ ์ง์ [100%, 100%,, 0%, 100%] ๋ก ๋์ด ์๋ ๊ฒฝ์ฐ, ์ฒซ ๊ธฐ๋ฅ๊ณผ ๋ ๋ฒ์ฌ ๊ธฐ๋ฅ๋ง ๋ฐฐํฌ ๋๊ณ , 4๋ฒ์งธ ๊ธฐ๋ฅ์ 3๋ฒ์งธ๊ฐ 100%๊ฐ ๋ ๋๊น์ง ๊ธฐ๋ค๋ ค์ผ ํ๋ค.)2. ์ฝ๋๊ฐ ๋์ค๊ธฐ๊น์ง ๐ ๏ธKEY WORD: ํ ํ์ฉ๋ฌธ์ ์์ ์ ์ํ ๊ทธ๋๋ก ๊ตฌํํ๋ฉด๋๋ค.ํ์๋ ํ๋ฅผ ํ์ฉํ..
2025.07.03
CodingTest/์๊ณ ๋ฆฌ์ฆ-ํ์ด