์ฝ๋ฉํ
์คํธ
10
[๋ฐฑ์ค] 2905 ํ์ค์ด์ ์ธํ๋ฆฌ ๋ฌธ์ ํ์ด java (์ฝ๊ฒ ๊ทธ๋ฆผ์ผ๋ก ์ค๋ช
^^)
1. ๋ฌธ์ ์ค๋ช
๐๋ฌธ์ ๋งํฌ๋ฌธ์ ์ค๋ช
์ด ์ด๋ ค์์ ๋ถ์ฐ ์ค๋ช
์ ํ๊ฒ ๋ค.N๊ฐ์ ์ธํ๋ฆฌ์ ๋๋น๊ฐ X์ธ ๋ฃฐ๋ฌ๊ฐ ์๋ค. ์ธํ๋ฆฌ์ ๊ฒฝ์ฐ ๋๋น๋ 1๋ก ๊ณ ์ ์ด๊ณ , ๋์ด๋ง 1์ฐจ์ ๋ฐฐ์ด ํ์์ผ๋ก ์ฃผ์ด์ง๋ค. ๋น์ ์ ๋ฃฐ๋ฌ๋ฅผ ํ์ฉํ์ฌ ํ์ธํธ๋ฅผ ์น ํ ๊ฒ์ธ๋ฐ, ๋๋น๊ฐ X์์ผ๋ก, X ๋๋น ๋ด์ ์ธํ๋ฆฌ๋ ํ ๋ฒ์ ์น ํ๊ฒ ๋ ๊ฒ์ด๋ค. ์ฌ๊ธฐ์ ์ค์ํ ์กฐ๊ฑด์ ๋ค์๊ณผ ๊ฐ๋ค.(1) ๋ฃฐ๋ฌ์ ๋ถ๋ถ์ด ํ๊ณต์ ๋ฟ์ผ๋ฉด ์๋๋ค.์ผ์ชฝ๊ณผ ๊ฐ์ด ์ผ๋ จ์ ์ธํ๋ฆฌ๊ฐ ์ฃผ์ด์ง๋ค๋ฉด, ์ค๋ฅธ์ชฝ ๊ทธ๋ฆผ์ ํ
๋๋ฆฌ ์ ์ชฝ๋ง ๋กค๋ฌ๋ฅผ ๋๋ ค ์น ํ ์ ์๋ค๋ ๋ง์ด๋ค. ์ฆ ๋กค๋ฌ ๋๋น X ๋ด์ ์ ์ผ ์์ ์ธํ๋ฆฌ๊ฐ ์์น ์ ๊ธฐ์ค์ด ๋๋ค.(2) ์น ํ๋ฐ๋ ๋ ์น ํ ์ ์๋ค.๋ค์๊ณผ ๊ฐ์ด ๋กค๋ฌ์ ๋๋น๊ฐ 3์ผ ๋, ์ฒ์ ๋ง๋ฑ๋จ๋ฆฌ๋ ๊ตฌ๊ฐ์์๋ ์ต๋๋ก ์น ํ ์ ์๋ ๋์ด๊ฐ 1์ผ ๊ฒ์ด๋ค.๋กค๋ฌ๋ฅผ ํ ์นธ ์ฎ๊ธฐ..
00:58:43
์๊ณ ๋ฆฌ์ฆ/๋ฌธ์ ํ์ด
[๋ฐฑ์ค] 3020 ๊ฐ๋ฅ๋ฒ๋ java ์๋ฒฝ ํ์ด!
1. ๋ฌธ์ ์ค๋ช
๐๋ฌธ์ ๋งํฌ2. ์ ๊ทผ ๋ฐฉ์ ๐๏ธKEY WORD: ๋์ ํฉ, ์ด๋ถ ํ์๋๊ตด์ ๋์ด์ธ H์ ๊น์ด์ธ N์ด ๊ฐ๊ฐ \(10^{5}\)์ด๋ฏ๋ก, ์์ ํ์์ผ๋ก ํ๋์ ํ๋ง๋ค ๋ชจ๋ ์ด์ ์กฐํํ๋ค๋ฉด 1์ด์ \(10^{10}\)๋ฒ ์ด์์ ์ฐ์ฐ์ ํด์ผํด์ ์๊ฐ ์ด๊ณผ๊ฐ ๋ ๊ฒ์ด๋ค.ํด๋น ๋ฌธ์ ๋ *๊ฑฐ๊พธ๋ก ๋งค๋ฌ๋ ค ์๋ ์ข
์ ์์ ์ด๋ป๊ฒ ์ฒ๋ฆฌํ ๊ฒ์ธ๊ฐ?* ์ ๋ํ ๋ช
ํํ ๊ฐ์ด๋๋ผ์ธ๋ง ๊ณํํ ์ ์๋ค๋ฉด ํ ์ ์๋ ๋ฌธ์ ์ด๋ค. ์ข
์ ์ ์ฒ๋ฆฌ๋ฐฉ๋ฒ์ ๋ฐ๋ผ ๋ ๊ฐ์ง ๋ฐฉ๋ฒ์ผ๋ก ํ ์ ์๋๋ฐ, ํ๋๋ ๋์ ํฉ์ด๊ณ ๋ค๋ฅธ ํ๋๋ ์ด๋ถ ํ์์ด๋ค.(1) ๋์ ํฉa. ๊ฒฐ๋ก ๋จผ์ 1. "์์๊ณผ ์ข
์ ์ ์
๋ ฅ์ ๋ถ๋ฅํ์ฌ Y์ถ ์์น์ ๋ฐ๋ฅธ ๊ฐ ์ฐ๋ฌผ์ ์์น๋ฅผ ์ ์ฅํ๋ ๋ฐฐ์ด ๊ตฌํ"2. "๊ฐ ๋ฐฐ์ด์ ๋์ ํฉ ๊ตฌํ๊ธฐ (์์ ๋์ ํฉ ๋ฐฐ์ด์ sum_S[i], ..
2024.12.19
์๊ณ ๋ฆฌ์ฆ/๋ฌธ์ ํ์ด
[๋ฐฑ์ค] 16139 ์ธ๊ฐ-์ปดํจํฐ ์ํธ์์ฉ java ํ์ด
1. ๋ฌธ์ ์ค๋ช
๐๋ฌธ์ ๋งํฌ2. ์ ๊ทผ ๋ฐฉ์ ๐๏ธKEY WORD: ๊ตฌ๊ฐ ํฉ๋์ ํฉ ๋ฐฐ์ด S์์ A~B ๊ตฌ๊ฐ ๋ด์ ๊ตฌ๊ฐํฉ์ ๊ตฌํ ๊ฒฝ์ฐ ์ด๋ป๊ฒ ํํํ๋๊ฐ?S[B] - S[A-1] ์ด์๋ค. A๊ฐ ๊ตฌ๊ฐ๋ด์ ํฉํด์ง๋๋ก A-1๊น์ง์ ๊ตฌ๊ฐํฉ์ ์ ๊ฑฐํ๋ค. ์ด๋ฌํ ์๋ฆฌ๋ ๊ตฌ๊ฐ ๋ด์ ์ํ๋ฒณ์ด ๋ช ๋ฒ ๋ฑ์ฅํ๋๊ฐ ์ฐพ๋ ์ด๋ฒ ๋ฌธ์ ์์๋ ์ฌ์ฉํ ์ ์๋ค.์ ๊ทธ๋ฆผ๊ณผ ๊ฐ์ด, a๊ฐ A๊ตฌ๊ฐ์์ ํ๋ฒ, B๊ตฌ๊ฐ์์ ํ๋ฒ ๋์จ๋ค๊ณ ํ์. ๊ทธ๋ฌ๋ฉด, S[A] = 1, S[B] = 2๊ฐ ๋ ๊ฒ์ด๋ค. ๊ตฌ๊ฐ์ ํ์ธํ๋ฉด ๋ฌธ์์ด์ด A์ ์์น๋ฅผ ๋์ด์์ B๊น์ง ๊ตฌ๊ฐ์ ์ ํ๋ ์๊ฐ a๋ ํ๊ฐ์ด๋ค. S[B]-S[A]๋ A+1 ~ B๊น์ง์ ๊ตฌ๊ฐํฉ์์ผ๋ก 2-1 = 1์ด ๋์จ๋ค. ๋ฐ๋ฉด S[B] - S[A-1]์ A์ ์์น๋ถํฐ B๊น์ง์ ๊ฑฐ๋ฆฌ์์ a์ ๊ฐ์์์ผ๋ก S[..
2024.12.12
์๊ณ ๋ฆฌ์ฆ/๋ฌธ์ ํ์ด
โค๏ธ [๋ฐฑ์ค] 17425 ์ฝ์์ ํฉ java
1. ๋ฌธ์ ์ค๋ช
๐๋ฌธ์ ๋งํฌf(n) = n์ด๋ ์ซ์์ ์ฝ์๋ค์ ํฉg(n) = 1~n๊น์ง ๊ฐ ์ซ์์ ์ฝ์๋ค์ ํฉ ์ฆ f(1) ~ f(n)์ ํฉ2. ์ ๊ทผ ๋ฐฉ์ ๐๏ธKEY WORD: ๋์ ํฉ, ์๊ฐ ๋ณต์ก๋์ ๋ํ ๊ฐf(n)์ ๊ตฌํ๋ค. (1~ 1000000 ๊น์ง ์ ์ฒด ์์ ๋ํด ๊ตฌํ๋ค.)๋ชจ๋ f(n) ๋ฐฐ์ด์ 1๋ก ์ด๊ธฐํ (1์ ๋ฌด์กฐ๊ฑด ์ฝ์์ ํฌํจ๋๋ฏ๋ก)f(ij) += i(i = 2 ~ 1000000๊น์ง ๋ชจ๋ ์ํ, j = 1๋ถํฐ 1์ฉ ์ฆ๊ฐํจ. ์ฆ `ij=i์ ๋ฐฐ์๋ฅผ ๋ํ๋.`)g(n)์ f(n)์ ๋์ ์ผ๋ก ๊ตฌํ๋ค.๋ต์ ์ถ๋ ฅํ๋ค.f(i*j) = i๋ฅผ ์งํํ๋ฉด, i์ ๋ฐฐ์์๋ i๋ฅผ ๋ฌด์กฐ๊ฑด ๋ํ๊ณ i๊ฐ 1~ 1000000๊น์ง ๋ชจ๋ ์๋ฅผ ์ํํ๊ธฐ ๋๋ฌธ์ ๊ฐ ์ซ์๋ง๋ค ์์ ์ ์ฝ์๋ฅผ ๋น ์ง์์ด ๋ํ ์ ์๋ค. ์ฌ๊ธฐ์ ๋ค..
2024.12.10
์๊ณ ๋ฆฌ์ฆ/๋ฌธ์ ํ์ด
โค๏ธ[๋ฐฑ์ค] 2143 ๋ ๋ฐฐ์ด์ ํฉ java
1. ๋ฌธ์ ์ค๋ช
๐๋ฌธ์ ๋งํฌ๋ ๋ฐฐ์ด์ ๊ตฌ๊ฐํฉ๋ผ๋ฆฌ ๋ํด์ ๋ชฉํ๊ฐ์ธ T๊ฐ ๋์ค๋ ํ์๋ฅผ ์ธ๋ ๋ฌธ์ 2. ์ ๊ทผ ๋ฐฉ์ ๐๏ธKEY WORD: Two Pointer, Range sum์ด๋ฒ ๋ฌธ์ ๋ ๊ฐ ๋ฐฐ์ด์์ ๋์ฌ ์ ์๋ ๊ตฌ๊ฐํฉ์ ๋ชจ๋ ๊ตฌํด์ List ํ ์ํจ ๋ค์, ์ด ๋ List์์ ๊ฐ์ ๊ฐ๊ฐ ๊บผ๋ด์ด ๋ณด๋ฉฐ, T๊ฐ ๋ ์ ์๋ ๊ฒฝ์ฐ์ ์๋ฅผ ์ธ์ผํ๋ค. ํ๋ง๋๋ก ์์ฝํ๋ฉด ๊ตฌ๊ฐํฉ ํ๋ณด๊ตฐ๋ค ์ฌ์ด์์ Two Pointer๋ก ์์ฝํ ์ ์๋ค.(1) ์ ๊ทธ๋ ๊ฒ ํ์ด์ผ ํ๋์?๋ต: ๋ฐฐ์ด์ ์์๋ก ์์๊ฐ ์กด์ฌ์ด ๋ฌธ์ ์ ๊น๋ค๋ก์ด ์ ์ ๋ฐฐ์ด์ ์์๋ก ์์๊ฐ ์กด์ฌํ ์ ์๋ค๋ ๊ฒ์ด๋ค. ๋์ ํฉ์ ํ์ฉํ ๊ตฌ๊ฐํฉ์ ๊ตฌํ๋๋ฐ ๊ธฐ๋ณธ์ด ๋๋ ์ ์ ์กฐ๊ฑด์ "right ํฌ์ธํฐ๋ฅผ ๋๋ฆฌ๋ฉด ๊ตฌ๊ฐํฉ์ด ์ปค์ง๋ค. left ํฌ์ธํฐ๋ฅผ ๋๋ฆฌ๋ฉด ๊ตฌ๊ฐํฉ์ด ์ค์ด๋ ๋ค...
2024.12.09
์๊ณ ๋ฆฌ์ฆ/๋ฌธ์ ํ์ด
โค๏ธ[๋ฐฑ์ค] 1806 ๋ถ๋ถํฉ java
1. ๋ฌธ์ ์ค๋ช
๐https://www.acmicpc.net/problem/1806 ๋ฌธ์ ๊ฐ ์ง๊ด์ ์ด๋ผ ์ค๋ช
์๋ต!2. ์ ๊ทผ ๋ฐฉ์ ๐๏ธKEY WORD: TWO POINTER๋ชฉํ๊ฐ ๋ณด๋ค Two Pointer ๊ตฌ๊ฐ ๋ด์ ํฉ์ด ์์ผ๋ฉด ์ค๋ฅธ์ชฝ ํฌ์ธํฐ ์ด๋๋ชฉํ๊ฐ ๋ณด๋ค ํฌ๊ฑฐ๋ ๊ฐ์ผ๋ฉด ์ผ์ชฝ ํฌ์ธํฐ ์ด๋๊ตฌ๊ฐ ๋ด ํฉ์ด ๋ชฉํ๊ฐ ์ด์์ด๋ฉด Math.min(์ด์ ๊น์ง์ ์ต์ ๊ฐ์, ํ์ฌ ๊ฐ์)๋ก ์ต์๊ฐ ๊ฐฑ์ 3. ์ฝ๋ ์๊ฐ ๐import java.io.*;import java.util.*;public class Main { /* * KEY WORD: ํฌ ํฌ์ธํฐ * 1. ๋ชฉํ๊ฐ๋ณด๋ค ์์ผ๋ฉด ์ค๋ฅธ์ชฝ ํฌ์ธํฐ ์ด๋ * 2. ๋ชฉํ๊ฐ๋ณด๋ค ํฌ๊ฑฐ๋ ๊ฐ์ผ๋ฉด ์ผ์ชฝ ํฌ์ธํฐ ์ด๋ * 3. ๋ชฉํ๊ฐ๊ณผ ์ผ์นํ๋ฉด ๊ทธ ๊ฐ์๋ฅผ ๋ฝ์๋ด..
2024.12.07
์๊ณ ๋ฆฌ์ฆ/๋ฌธ์ ํ์ด
๐ค๊ตฌ๊ฐํฉ ์๊ณ ๋ฆฌ์ฆ
1. ๊ตฌ๊ฐํฉ ์๊ณ ๋ฆฌ์ฆ์ด๋?1์ฐจ์ ๋ฐฐ์ด์์ ํน์ ๊ตฌ๊ฐ ๋ด์ ์์๋ค์ ํฉ์ ๊ตฌํ๋ ์๊ณ ๋ฆฌ์ฆ์ด๋ค.2. ์ ์จ์ผ ํ๋๊ฐ?์์ ์์์์ A์์ B๊น์ง์ ๊ตฌ๊ฐ ํฉ์ ๊ตฌํ๋ค๋ฉด, ์ด๋ป๊ฒ ๊ตฌํ ๊ฒ์ธ๊ฐ? ํน์๋ 2๋ฒ index๋ถํฐ 7๋ฒ index๊น์ง for ๋ฐ๋ณต๋ฌธ์ ํ์ฉํด ์ฐจ๋ก๋๋ก ๋ํ ๊ฒ์ด๋ค. ํน์๋ 0์์ A๋ฒ๊น์ง์ ๋์ ํฉ์ ๊ตฌํ๊ณ , 0~B๋ฒ๊น์ง์ ๋์ ํฉ์ ๊ตฌํด, ๋์ ๋นผ์ ๊ตฌํ ๊ฒ์ด๋ค. ๋ง์ฝ ๋จ์ผ ๊ณ์ฐ์ด๋ผ๋ฉด, ์ด๋ฐ ์์ ํ์ด๋ n๋ฒ์ ๋ฐ๋ณต์ผ ๋ฟ์ด๋ ๊ด์ฐฎ์ ์ ์๋ค. ํ์ง๋ง, ๋ฌธ์ ์์ ์ฌ๋ฌ ๊ฐ์ ๊ตฌ๊ฐํฉ์ ๋ฐํํ๊ธธ ๋ฐ๋๋ค๋ฉด? ๋งค๋ฒ ์ด๋ฌํ ๋ฐ๋ณต๋ฌธ์ ๋ฐ๋ณตํ๋ ๊ฒ์ ๋นํจ์จ์ ์ด๋ค. ์ด๋ ์๊ฐ ์ด๊ณผ๋ก ์ด์ด์ง ์ ์๋ค.์๊ฐ ๋ณต์ก๋๋ก ๊ณ์ฐํด ๋ณด๊ฒ ๋ค. ์ต์
์ ์์ ํด์ผํ๋, N๊ฐ์ ์์๋ฅผ ๊ฐ์ง ๋ฐฐ์ด์์ 0~ N~1๊น์ง์ ๊ณ์ฐ์ K๋ฒ ๋ฐ..
2024.12.07
์๊ณ ๋ฆฌ์ฆ/์๊ณ ๋ฆฌ์ฆ-์ด๋ก
[ํ๋ก๊ทธ๋๋จธ์ค] Lv2 ์ถฉ๋ ์ํ ์ฐพ๊ธฐ java (์ ๊ทผ ๋ฐฉ์ ํํธ + ์ธ์ธํ ์ฝ๋ ๋ถ์)
1. ๋ฌธ์ ์ค๋ช
๐๋ฌธ์ ๋งํฌ๋ฌธ์ ์ ์ค๋ช
๋ง ๋ณด๋ฉด ์ดํดํ๊ธฐ๊ฐ ์ด๋ ค์ด๋ฐ, ๋ฐ์ ์๋ฎฌ๋ ์ดํฐ๋ฅผ ๋ณด๋ฉด ๋ฌธ์ ์์ ์ฃผ์ด์ง ์กฐ๊ฑด๊ณผ ๋ก๋ด์ ์๋์๋ฆฌ๋ ์ดํดํ ๋งํ๋ค.ํ์ง๋ง ํท๊ฐ๋ฆฌ๋ ๊ฒ์ด ์๋ค๋ฉด ๋ฐ๋ก, points์ routes์ ์๋ฏธ ๋ฐ ๊ด๊ณ๋ผ๊ณ ํ ์ ์๊ฒ ๋ค.(1) ํท๊ฐ๋ฆฌ๋ ๊ฒ ๋ฐ๋ก ์ก๊ธฐpoints: ๋ก๋ด์ด ๋ฐฉ๋ฌธํด์ผํ๋ ์ง์ ์ ์ขํ๋ฅผ ๋ฐฐ์ด ํํ๋ก ์ ์ฅํด๋์๋ค.points[i]์ผ ๋, ์ด i๊ฐ ๋ฐฉ๋ฌธํ ์ง์ ์ ๋ฒํธ ์ด๊ณ , point[i]์ value๊ฐ ๊ฐ๊ฐ i๋ ์ง์ ์ ํ๊ณผ ์ด ์ฆ ์ขํ์ด๋ค.routes; ๋ก๋ด๋ณ๋ก ๋ฐฉ๋ฌธํด์ผํ ์ง์ ์ ์์๋๋ก ๋์ดํ 1์ฐจ์ ๋ฐฐ์ด์ ๋ฌถ์์ด๋ค.routes[i]์ i๋ ๋ก๋ด์ ๋ฒํธ์ด๊ณ , routes[i]์๋ ๋ก๋ด์ด ๋ฐฉ๋ฌธํด์ผํ ์ง์ ์ ๋ฒํธ๊ฐ ์์๋๋ก ์ ์ฅ๋์ด ์๋ค.์๋ฅผ ๋ค์ด, routes[2] = ..
2024.10.18
์๊ณ ๋ฆฌ์ฆ/๋ฌธ์ ํ์ด