user-img
์ฝ”๋”ฉํ…Œ์ŠคํŠธ 22
thumbnail
โค๏ธ[๋ฐฑ์ค€] 2143 ๋‘ ๋ฐฐ์—ด์˜ ํ•ฉ java
1. ๋ฌธ์ œ ์„ค๋ช… ๐Ÿ“Œ๋ฌธ์ œ ๋งํฌ๋‘ ๋ฐฐ์—ด์˜ ๊ตฌ๊ฐ„ํ•ฉ๋ผ๋ฆฌ ๋”ํ•ด์„œ ๋ชฉํ‘œ๊ฐ’์ธ T๊ฐ€ ๋‚˜์˜ค๋Š” ํšŸ์ˆ˜๋ฅผ ์„ธ๋Š” ๋ฌธ์ œ2. ์ ‘๊ทผ ๋ฐฉ์‹ ๐Ÿ—ƒ๏ธKEY WORD: Two Pointer, Range sum์ด๋ฒˆ ๋ฌธ์ œ๋Š” ๊ฐ ๋ฐฐ์—ด์—์„œ ๋‚˜์˜ฌ ์ˆ˜ ์žˆ๋Š” ๊ตฌ๊ฐ„ํ•ฉ์„ ๋ชจ๋‘ ๊ตฌํ•ด์„œ List ํ™” ์‹œํ‚จ ๋’ค์—, ์ด ๋‘ List์—์„œ ๊ฐ’์„ ๊ฐ๊ฐ ๊บผ๋‚ด์–ด ๋ณด๋ฉฐ, T๊ฐ€ ๋  ์ˆ˜ ์žˆ๋Š” ๊ฒฝ์šฐ์˜ ์ˆ˜๋ฅผ ์„ธ์•ผํ•œ๋‹ค. ํ•œ๋งˆ๋””๋กœ ์š”์•ฝํ•˜๋ฉด ๊ตฌ๊ฐ„ํ•ฉ ํ›„๋ณด๊ตฐ๋“ค ์‚ฌ์ด์—์„œ Two Pointer๋กœ ์š”์•ฝํ•  ์ˆ˜ ์žˆ๋‹ค.(1) ์™œ ๊ทธ๋ ‡๊ฒŒ ํ’€์–ด์•ผ ํ•˜๋‚˜์š”?๋‹ต: ๋ฐฐ์—ด์˜ ์›์†Œ๋กœ ์Œ์ˆ˜๊ฐ€ ์กด์žฌ์ด ๋ฌธ์ œ์˜ ๊นŒ๋‹ค๋กœ์šด ์ ์€ ๋ฐฐ์—ด์˜ ์›์†Œ๋กœ ์Œ์ˆ˜๊ฐ€ ์กด์žฌํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ๊ฒƒ์ด๋‹ค. ๋ˆ„์ ํ•ฉ์„ ํ™œ์šฉํ•œ ๊ตฌ๊ฐ„ํ•ฉ์„ ๊ตฌํ•˜๋Š”๋ฐ ๊ธฐ๋ณธ์ด ๋˜๋Š” ์ „์ œ ์กฐ๊ฑด์€ "right ํฌ์ธํ„ฐ๋ฅผ ๋Š˜๋ฆฌ๋ฉด ๊ตฌ๊ฐ„ํ•ฉ์ด ์ปค์ง„๋‹ค. left ํฌ์ธํ„ฐ๋ฅผ ๋Š˜๋ฆฌ๋ฉด ๊ตฌ๊ฐ„ํ•ฉ์ด ์ค„์–ด๋“ ๋‹ค...
2024.12.09
์•Œ๊ณ ๋ฆฌ์ฆ˜/๋ฌธ์ œ ํ’€์ด
thumbnail
โค๏ธ[๋ฐฑ์ค€] 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
์•Œ๊ณ ๋ฆฌ์ฆ˜/๋ฌธ์ œ ํ’€์ด
thumbnail
๊ตฌ๊ฐ„ํ•ฉ ๊ธฐ์ˆ , ๊ทธ๋ฆผ์œผ๋กœ ์‰ฝ๊ฒŒ ์ดํ•ดํ•˜๊ธฐ
1. ๊ตฌ๊ฐ„ํ•ฉ ๊ธฐ์ˆ ์ด๋ž€?1์ฐจ์› ๋ฐฐ์—ด์—์„œ ํŠน์ • ๊ตฌ๊ฐ„ ๋‚ด์˜ ์›์†Œ๋“ค์˜ ํ•ฉ์„ ๊ตฌํ•˜๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด๋‹ค.2. ์™œ ์จ์•ผ ํ•˜๋Š”๊ฐ€?์œ„์˜ ์˜ˆ์‹œ์—์„œ A์—์„œ B๊นŒ์ง€์˜ ๊ตฌ๊ฐ„ ํ•ฉ์„ ๊ตฌํ•œ๋‹ค๋ฉด, ์–ด๋–ป๊ฒŒ ๊ตฌํ•  ๊ฒƒ์ธ๊ฐ€? ํ˜น์ž๋Š” 2๋ฒˆ index๋ถ€ํ„ฐ 7๋ฒˆ index๊นŒ์ง€ for ๋ฐ˜๋ณต๋ฌธ์„ ํ™œ์šฉํ•ด ์ฐจ๋ก€๋Œ€๋กœ ๋”ํ•  ๊ฒƒ์ด๋‹ค. ํ˜น์ž๋Š” 0์—์„œ A๋ฒˆ๊นŒ์ง€์˜ ๋ˆ„์ ํ•ฉ์„ ๊ตฌํ•˜๊ณ , 0~B๋ฒˆ๊นŒ์ง€์˜ ๋ˆ„์ ํ•ฉ์„ ๊ตฌํ•ด, ๋‘˜์„ ๋นผ์„œ ๊ตฌํ•  ๊ฒƒ์ด๋‹ค. ๋งŒ์•ฝ ๋‹จ์ผ ๊ณ„์‚ฐ์ด๋ผ๋ฉด, ์ด๋Ÿฐ ์‹์˜ ํ’€์ด๋Š” n๋ฒˆ์˜ ๋ฐ˜๋ณต์ผ ๋ฟ์ด๋‹ˆ ๊ดœ์ฐฎ์„ ์ˆ˜ ์žˆ๋‹ค. ํ•˜์ง€๋งŒ, ๋ฌธ์ œ์—์„œ ์—ฌ๋Ÿฌ ๊ฐœ์˜ ๊ตฌ๊ฐ„ํ•ฉ์„ ๋ฐ˜ํ™˜ํ•˜๊ธธ ๋ฐ”๋ž€๋‹ค๋ฉด? ๋งค๋ฒˆ ์ด๋Ÿฌํ•œ ๋ฐ˜๋ณต๋ฌธ์„ ๋ฐ˜๋ณตํ•˜๋Š” ๊ฒƒ์€ ๋น„ํšจ์œจ์ ์ด๋‹ค. ์ด๋Š” ์‹œ๊ฐ„ ์ดˆ๊ณผ๋กœ ์ด์–ด์งˆ ์ˆ˜ ์žˆ๋‹ค.์‹œ๊ฐ„ ๋ณต์žก๋„๋กœ ๊ณ„์‚ฐํ•ด ๋ณด๊ฒ ๋‹ค. ์ตœ์•…์„ ์ƒ์ •ํ•ด์•ผํ•˜๋‹ˆ, N๊ฐœ์˜ ์›์†Œ๋ฅผ ๊ฐ€์ง„ ๋ฐฐ์—ด์—์„œ 0~ N~1๊นŒ์ง€์˜ ๊ณ„์‚ฐ์„ K๋ฒˆ ๋ฐ˜๋ณตํ•œ..
2024.12.07
์•Œ๊ณ ๋ฆฌ์ฆ˜/์•Œ๊ณ ๋ฆฌ์ฆ˜-์ด๋ก 
thumbnail
[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค] 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
์•Œ๊ณ ๋ฆฌ์ฆ˜/๋ฌธ์ œ ํ’€์ด
thumbnail
[๋ฐฑ์ค€] 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
์•Œ๊ณ ๋ฆฌ์ฆ˜/๋ฌธ์ œ ํ’€์ด
thumbnail
์ด๋ถ„ ํƒ์ƒ‰, ๊ทธ๋ฆผ์œผ๋กœ ์‰ฝ๊ฒŒ ์ดํ•ดํ•˜๊ธฐ
1. ์ด๋ถ„ ํƒ์ƒ‰ (binary-search)๋ž€ ๋ฌด์—‡์ธ๊ฐ€์š”?์ด๋ถ„ ํƒ์ƒ‰(binary-search)์ด๋ž€, ์ •๋ ฌ๋œ ์ƒํƒœ์˜ ์ผ๋ จ์˜ ๋ฐ์ดํ„ฐ ์ค‘ ํ˜„ ๊ธฐ์ ์—์„œ ๋‹ต ํ›„๋ณด๊ฐ€ ๋  ์ˆ˜ ์—†๋Š” ์ ˆ๋ฐ˜์„ ์‚ญ์ œํ•ด๊ฐ€๋ฉฐ ๋‹ต์„ ์ฐพ์•„๋‚ด๋Š” ํƒ์ƒ‰ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ์ด๋‹ค. ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์ •๋ ฌ๋œ 10๊ฐœ์˜ ์ •์ˆ˜๊ฐ€ ๋ฐฐ์—ด ํ˜•ํƒœ๋กœ ์ฃผ์–ด์ ธ ์žˆ๋‹ค๊ณ  ํ•˜์ž. ์šฐ๋ฆฌ๋Š” ์—ฌ๊ธฐ์„œ 23์ด๋ž€ ์ˆ˜๋ฅผ ์ฐพ๊ณ ์ž ํ•œ๋‹ค.(1) ๋จผ์ € ๋ชฉํ‘œ๊ฐ’๊ณผ ๋น„๊ตํ•  ๊ธฐ์ค€์„ ๊ตฌํ•ด์•ผ ํ•œ๋‹ค. ๊ธฐ์ค€์€ ํ•ญ์ƒ ๊ฐ’์„ ๊ตฌํ•ด์•ผ ํ•˜๋Š” ๊ตฌ๊ฐ„์˜ ์ค‘์•™๊ฐ’์ด๋‹ค. (์ง์ˆ˜๋ฉด์€ ์ค‘์•™์˜ ๋‘ ๊ฐœ์˜ ๊ฐ’ ์ค‘ ์•ž ์ชฝ ๊ฐ’์ด๋‹ค.)(2) 16์„ 23๊ณผ ๋น„๊ตํ•ด๋ณด๋‹ˆ, ์ž‘๋‹ค. ์ด ๋ง์€ ์ฆ‰ '16์˜ ์•ž์ชฝ ์›์†Œ๋“ค๋„ ๋ชฉํ‘œ ๊ฐ’๋ณด๋‹ค ์ž‘๋‹ค.' ๋Š” ๋ง์ด ๋œ๋‹ค. ์™œ๋ƒํ•˜๋ฉด ์ด๋ฏธ ์˜ค๋ฆ„์ฐจ์ˆœ์œผ๋กœ ์ •๋ ฌ๋œ ์ƒํƒœ์—์„œ ํƒ์ƒ‰์„ ์‹œ์ž‘ํ–ˆ๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค. ๋”ฐ๋ผ์„œ 16๊ณผ ๊ทธ ์•ž ์ชฝ์˜ ์ˆ˜๋“ค์€ ์ „๋ถ€ ๋‚ ๋ฆฐ๋‹ค..
2024.07.24
์•Œ๊ณ ๋ฆฌ์ฆ˜/์•Œ๊ณ ๋ฆฌ์ฆ˜-์ด๋ก