์๊ณ ๋ฆฌ์ฆ/๋ฌธ์ ํ์ด
193
[๋ฐฑ์ค] 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
์๊ณ ๋ฆฌ์ฆ/๋ฌธ์ ํ์ด
[ํ๋ก๊ทธ๋๋จธ์ค] Lv1 ๊ณต์ (PCCP ๊ธฐ์ถ 10๋ฒ) java
1. ๋ฌธ์ ์ค๋ช
๐๋ฌธ์ ๋งํฌ2. ์ ๊ทผ ๋ฐฉ์ ๐๏ธKEYWORD: SIMULATION์ด๋ ต๊ฒ ์๊ฐํ ๊ฒ ์์ด, ์ง๋ฏผ์ด๊ฐ ๊ฐ์ง ๋์๋ฆฌ ์ค ํฐ ๊ฒ๋ถํฐ ๊ณต์์ ๊ฒฉ์์ ์ผ์ผํ ๋๋ณด๋ฉด ๋๋ค.๋ง์ฝ ๊ฒน์น๋ฉด ์ด์งํผ ๋ ์ ์๊ธฐ ๋๋ฌธ์, ๋ค์ ๊ฐ๋ฅํ ์๋ฆฌ๋ถํฐ start ํ๋ค.์ฒซ๋ฒ์งธ ์๋ฆฌ๋ถํฐ ๋๋ณด์๋๋ฐ, ์ ๋ถ ๊ฒน์น๋ค. ๋ค์ start ๊ฐ๋ฅํ ๊ณณ์ผ๋ก ๋์ด๊ฐ๋ค.์ด๋ ๊ฒ ์ญ ๊ฐ๋ค๊ฐ,๋๋ ์ฌ๋ฐฑ์ ๋ง๋๋ฉด ๋ฐ๋ก ํ์ถํ๋ฉด ๋๋ค. ์๋ํ๋ฉด ์ฐ๋ฆฌ๋ ๋์๋ฆฌ ํฐ ๊ฑฐ๋ถํฐ ๋๋ณด๊ณ ์์๊ธฐ ๋๋ฌธ์ด๋ค. ์ง๋ฏผ์ด๋ 5x5๋ถํฐ ๋ค๊ณ ์์์ผ๋, ๊ณต์์๋ 5x5๋ฅผ ๋ ์๋ฆฌ๊ฐ ์๋ค.3. ์ฝ๋ ์๊ฐ ๐import java.util.*;class Solution { public int solution(int[] mats, String[][] park) { ..
2024.12.03
์๊ณ ๋ฆฌ์ฆ/๋ฌธ์ ํ์ด
ํ๋ก๊ทธ๋๋จธ์ค Lv1 ์งํ ์ ๊ธฐ ํ์ด java
1. ๋ฌธ์ ์ค๋ช
๐๋ฌธ์ ๋งํฌ2. ์ ๊ทผ ๋ฐฉ์ ๐๏ธKEY WORD: SIMULATION3. ์ฝ๋ ์๊ฐ ๐import java.util.*;class Solution { public int solution(int[] wallet, int[] bill) { int answer = 0; Arrays.sort(wallet); Arrays.sort(bill); while(wallet[0] 4. ๋ฐฐ์ด ๊ฒ๋ค ๐ฏ์์. ๊พธ์คํจ์ ์ํ ์ฌ๋ฌผ
2024.11.28
์๊ณ ๋ฆฌ์ฆ/๋ฌธ์ ํ์ด
[ํ๋ก๊ทธ๋๋จธ์ค] Lv2 ์๊ฒฉ์์คํ
java ์ฌ์ด ํ์ด
1. ๋ฌธ์ ์ค๋ช
๐๋ฌธ์ ์ค๋ช
๋ฌธ์ ์ค๋ช
์๋ต2. ์ ๊ทผ ๋ฐฉ์ ๐๏ธKEY WORD: GREEDY ALGORITHMGreedy ์๊ณ ๋ฆฌ์ฆ์ ๋งค ์ ํ์ ์๊ฐ์ ๋น์ ํ ์ ์๋ ์ต์ ์ ์ ํ์ ํ๋ ๊ฒ์ด ์ ์ฒด ๋ฌธ์ ์์๋ ์ต์ ์ ํด๋ฅผ ๊ตฌํ๋ ๊ฒ์์ ๊ฐ์ ํ๋ ์๊ณ ๋ฆฌ์ฆ์ด๋ค.์ฌ๊ธฐ์๋ ๋ฏธ์ฌ์ผ์ ๋ฌถ์์ ๋์ง์ ๊ธฐ์ค ์ค๋ฆ ์ฐจ์์ผ๋ก ์ ๋ ฌํ๊ณ , ๋ฏธ์ฌ์ผ ๋ฌถ์์ ์ต๋ํ ๋์ง์ ์์ ์ฐจ๋ก๋๋ก ์๊ฒฉํด ๋๊ฐ๋ฉด ์ต์ํ์ผ๋ก ์๊ฒฉ ๋ฏธ์ฌ์ผ์ ์ฌ์ฉํ๋ ๊ฒ์ด๋ค. ํด๋น ๋ฐฉ๋ฒ์ ๋ค์๊ณผ ๊ฐ์ ์ด์ ๋ก ์ ํจํ๋ค.๋ฏธ์ฌ์ผ์ ๋ง๋๋ฉด ๋ฌด์กฐ๊ฑด ์๊ฒฉํด์ผ ํ๋ค. ์ํ๊ณ ์ง๋์น๋ ๊ฒฝ์ฐ๋ ์๋ค.๋ฐ๋ผ์ ๋ฏธ์ฌ์ผ์ ๋ง๋๋ฉด ์ต๋ํ ๊ฒน์น๊ฒ ์ญ์ ํด์ผ ํ๋ค.ํ๋์ ๋ฏธ์ฌ์ผ ๋ฌถ์ A๊ฐ ๋ค๋ฅธ ๋ฏธ์ฌ์ผ ๋ฌถ์๊ณผ ์ต๋ํ ๊ฒน์น๋ ๊ฒฝ์ฐ๋ A์ ๋์ง์ ์์๋ง ๋ฐ์ํ๋ค.์๋ฅผ ๋ค์ด๋ณด๊ฒ ๋ค.๋ค์๊ณผ ๊ฐ์ด ํญ๊ฒฉ ๋ฏธ์ฌ..
2024.11.12
์๊ณ ๋ฆฌ์ฆ/๋ฌธ์ ํ์ด