์ฝ๋ฉํ
์คํธ
22
โค๏ธ[๋ฐฑ์ค] 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
์๊ณ ๋ฆฌ์ฆ/๋ฌธ์ ํ์ด
[๋ฐฑ์ค] 1522 ๋ฌธ์์ด ๊ตํ ํ์ด java
1. ๋ฌธ์ ์ค๋ช
๋ฌธ์ ์ค๋ช
2. ์ ๊ทผ ๋ฐฉ์KEY WORD: Sliding Window, ๋๋จธ์ง ์ฐ์ฐ์์ด๋์ด๋ฅผ ๋ ์ฌ๋ฆฌ๊ธฐ๊ฐ ์ด๋ ค์์ ๋ค๋ฅธ ์ฌ๋์ ํ์ด ๋ธ๋ก๊ทธ์์ ์์ด๋์ด ๋ถ๋ถ๊น์ง๋ง ๋ดค๋ค.๋๋ a์ b๋ฅผ ์ผ์ผํ ๊ตํํ๋๋ฐ๋ง ์ง์คํ๊ณ ์์๋๋ฐ, ์์ ํ ์๋ชป๋ ์ ๊ทผ ๋ฐฉ์์ด์๋ค. ๊ทธ๋ฌํ ๋ฐฉ์์ผ๋ก ํ์์ ๋, ์ต์๊ฐ์ ์ด๋ป๊ฒ ์ฐพ์ ์ ์์์ง ๊ฐ์ด ์์จ๋ค. ๋ฌธ์ ๋ฅผ ํธ๋ ๋ฐฉ์์ ๋ค์๊ณผ ๊ฐ๋ค. ๋ฌธ์์ด ๋ด์ a์ ๊ฐ์๋ฅผ ์ธ๊ณ , ๊ทธ ๊ฐ์๋ฅผ ์ฉ๋์ผ๋ก ํ๋ Sliding window๋ฅผ ๋ง๋ ๋ค.๋ฌธ์์ด์ ์ฒ์๋ถํฐ, 1๋ฒ์์ ์ผ ์ฌ๋ผ์ด๋ฉ ์๋์ฐ์ ์ฉ๋๋งํผ a์ b์ ๊ฐ์๋ฅผ ์ผ๋ค. b์ ๊ฐ์ == ๊ตํ์ด ์ผ์ด๋๋ ํ์ ์ด๋ค. ํ์ฌ a์ ๊ฐ์๋งํผ์ฉ ๋ฐฐ์ด์ ํ์ธํ๊ณ ์๊ณ , ๊ฑฐ๊ธฐ์ b์ ๊ฐ์๋ฅผ ์ ๋ถ a๋ก ๋๋ฆฐ๋ค๋ฉด, ์ฐ์๋ a์ ์ฐ์๋ b๊ฐ ..
2024.07.29
์๊ณ ๋ฆฌ์ฆ/๋ฌธ์ ํ์ด
์ด๋ถ ํ์, ๊ทธ๋ฆผ์ผ๋ก ์ฝ๊ฒ ์ดํดํ๊ธฐ
1. ์ด๋ถ ํ์ (binary-search)๋ ๋ฌด์์ธ๊ฐ์?์ด๋ถ ํ์(binary-search)์ด๋, ์ ๋ ฌ๋ ์ํ์ ์ผ๋ จ์ ๋ฐ์ดํฐ ์ค ํ ๊ธฐ์ ์์ ๋ต ํ๋ณด๊ฐ ๋ ์ ์๋ ์ ๋ฐ์ ์ญ์ ํด๊ฐ๋ฉฐ ๋ต์ ์ฐพ์๋ด๋ ํ์ ์๊ณ ๋ฆฌ์ฆ ์ด๋ค. ๋ค์๊ณผ ๊ฐ์ด ์ ๋ ฌ๋ 10๊ฐ์ ์ ์๊ฐ ๋ฐฐ์ด ํํ๋ก ์ฃผ์ด์ ธ ์๋ค๊ณ ํ์. ์ฐ๋ฆฌ๋ ์ฌ๊ธฐ์ 23์ด๋ ์๋ฅผ ์ฐพ๊ณ ์ ํ๋ค.(1) ๋จผ์ ๋ชฉํ๊ฐ๊ณผ ๋น๊ตํ ๊ธฐ์ค์ ๊ตฌํด์ผ ํ๋ค. ๊ธฐ์ค์ ํญ์ ๊ฐ์ ๊ตฌํด์ผ ํ๋ ๊ตฌ๊ฐ์ ์ค์๊ฐ์ด๋ค. (์ง์๋ฉด์ ์ค์์ ๋ ๊ฐ์ ๊ฐ ์ค ์ ์ชฝ ๊ฐ์ด๋ค.)(2) 16์ 23๊ณผ ๋น๊ตํด๋ณด๋, ์๋ค. ์ด ๋ง์ ์ฆ '16์ ์์ชฝ ์์๋ค๋ ๋ชฉํ ๊ฐ๋ณด๋ค ์๋ค.' ๋ ๋ง์ด ๋๋ค. ์๋ํ๋ฉด ์ด๋ฏธ ์ค๋ฆ์ฐจ์์ผ๋ก ์ ๋ ฌ๋ ์ํ์์ ํ์์ ์์ํ๊ธฐ ๋๋ฌธ์ด๋ค. ๋ฐ๋ผ์ 16๊ณผ ๊ทธ ์ ์ชฝ์ ์๋ค์ ์ ๋ถ ๋ ๋ฆฐ๋ค..
2024.07.24
์๊ณ ๋ฆฌ์ฆ/์๊ณ ๋ฆฌ์ฆ-์ด๋ก