user-img
99ํด๋Ÿฝ 14
thumbnail
99ํด๋Ÿฝ ์ฝ”ํ…Œ ์Šคํ„ฐ๋”” 13์ผ์ฐจ TIL + Programmers ์ž…๊ตญ ์‹ฌ์‚ฌ๋Œ€ java
1. ๋ฌธ์ œ ์„ค๋ช…๋ฌธ์ œ ๋งํฌ2. ์ ‘๊ทผ ๋ฐฉ์‹KEY WORD: ์ด๋ถ„ ํƒ์ƒ‰๋ฌด์—‡์„ ๊ธฐ์ค€ ์œผ๋กœ ์ด๋ถ„ํƒ์ƒ‰์„ ํ•ด์•ผํ• ๊นŒ?์ด๋ถ„ ํƒ์ƒ‰ ๋ฌธ์ œ๋ฅผ ํ’€ ๋•Œ, ์ œ์ผ ์–ด๋ ค์šด ๋ถ€๋ถ„์ด๋‹ค. ์–ด๋ ค์šด ๋ฌธ์ œ์ผ์ˆ˜๋ก ๋ฌด์—‡์„ ๊ธฐ์ค€์œผ๋กœ ์ด๋ถ„ ํƒ์ƒ‰์„ ํ•ด์•ผํ• ์ง€ ๊ฐ์ด ์„œ์ง€ ์•Š๋Š”๋‹ค. ๋‚˜ ๋˜ํ•œ ๊ทธ๋žฌ๋‹ค. ๊ทธ๋ž˜์„œ ๋‹ค๋ฅธ ์‚ฌ๋žŒ์˜ ํ’€์ด ์•„์ด๋””์–ด๊นŒ์ง€ ๋ดค๋‹ค. ๋ถ„๋ช… 1๋…„ ์ „์— ๊ฐ™์€ ๋ฌธ์ œ๋ฅผ ๋ฐฑ์ค€์œผ๋กœ ํ’€์—ˆ๋Š”๋ฐ, ์•ˆ ๋– ์˜ฌ๋ผ์„œ ์ข€ ์ขŒ์ ˆ ํ–ˆ๋‹ค ใ…œ(1) ๊ธฐ์ค€ : M ์‹œ๊ฐ„ ๋‹น ๊ฐ ์‹ฌ์‚ฌ๋Œ€์—์„œ ์ฒ˜๋ฆฌํ•˜๋Š” ์‚ฌ๋žŒ์˜ ์ˆ˜๋‚ด ๊ธฐ์ค€์—์„œ ์–ด๋ ค์› ๋˜ ์ ์€ ๊ทœ์น™ - ์‹ฌ์‚ฌ๋Œ€๊ฐ€ ๋น„๋”๋ผ๋„, ์‚ฌ๋žŒ์€ ๋‹ค๋ฅธ ์‹ฌ์‚ฌ๋Œ€๊ฐ€ ๋นŒ ๋•Œ๊นŒ์ง€ ๊ธฐ๋‹ค๋ ธ๋‹ค๊ฐ€ ๋“ค์–ด๊ฐˆ ์ˆ˜ ์žˆ๋‹ค. ์˜€๋‹ค. ์ด ์ž์œจ์„ฑ ๋•Œ๋ฌธ์—, ๋ฌธ์ œ์˜ ์œ ํ˜•์„ ์ƒ๊ฐํ•˜์ง€ ๋ชปํ•œ ๊ฒƒ ๊ฐ™๋‹ค. ํ•˜์ง€๋งŒ ๊ธฐ์–ตํ•ด์•ผํ•  ์ ์€, ๋ฌด์—‡์„ ์ด๋ถ„ ํƒ์ƒ‰ ํ•ด์•ผํ• ์ง€ ๋ชจ๋ฅด๊ฒ ์„ ๋•Œ๋Š”, ๋ฐ˜ํ™˜ํ•˜๋Š” ๋‹ต์„ ๊ธฐ์ค€์œผ๋กœ ํƒ์ƒ‰ํ•  ๊ฒƒ์ด..
2024.08.03
์•Œ๊ณ ๋ฆฌ์ฆ˜/๋ฌธ์ œ ํ’€์ด
thumbnail
99ํด๋Ÿฝ ์ฝ”ํ…Œ ์Šคํ„ฐ๋”” 9์ผ์ฐจ TIL + ๋ฐฑ์ค€ 1927 ์ตœ์†Œํž™ java
1. ๋ฌธ์ œ ์„ค๋ช…๋ฌธ์ œ ๋งํฌ2. ์ ‘๊ทผ ๋ฐฉ์‹์ด๊ฑด ๋ญ Priority Queue ์“ธ ์ค„ ์•„๋ƒ๊ณ  ๋ฌป๋Š” ๋ฌธ์ œ์˜€๋‹ค.PQ๋ฅผ ๋งŒ๋“ ๋‹ค. (default๋กœ ์˜ค๋ฆ„์ฐจ์ˆœ ์ •๋ ฌ์ด๋‹ˆ ๊ฑด๋“ค์ผ ๊ฒƒ์ด ์—†๋‹ค.)๋ฌธ์ œ์—์„œ ์ œ๊ณตํ•˜๋Š” Order์— ๋”ฐ๋ฅธ๋‹ค. (0์ด๋ฉด ์ถœ๋ ฅ, ๋‚˜๋จธ์ง€๋ฉด ์ €์žฅ)3. ์ฝ”๋“œ ๋ถ„์„import java.io.*;import java.util.*;public class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); PriorityQueue pq = new PriorityQueue(); ..
2024.07.30
์•Œ๊ณ ๋ฆฌ์ฆ˜/๋ฌธ์ œ ํ’€์ด
thumbnail
99ํด๋Ÿฝ ์ฝ”ํ…Œ ์Šคํ„ฐ๋”” 8์ผ์ฐจ TIL + Programmers ๋‘ ํ์˜ ํ•ฉ ๊ฐ™๊ฒŒ ๋งŒ๋“ค๊ธฐ (java)
1. ๋ฌธ์ œ ์„ค๋ช…๋ฌธ์ œ ๋งํฌ2. ์ ‘๊ทผ ๋ฐฉ์‹KEY WORD: GREEDY๋ฌธ์ œ ์„ค๋ช… ๊ทธ๋Œ€๋กœ Queue ๋‘ ๊ฐœ๋ฅผ ๋งŒ๋“ ๋‹ค.์ดํ•ฉ์ด ํฐ ์ชฝ์˜ queue.peek()์„ poll ํ•ด์„œ ๋‹ค๋ฅธ ์ชฝ ํ์— ์ถ”๊ฐ€ํ•œ๋‹ค.2๋ฒˆ ์ข…๋ฃŒ ํ›„ ๋‘ ํ์˜ ์ดํ•ฉ์ด ๊ฐ™์€์ง€ ๊ฒ€์‚ฌํ•œ๋‹ค.๋งŒ์•ฝ ๊ฐ™์œผ๋ฉด, 2๋ฒˆ์„ ํ–‰ํ•œ ํšŸ์ˆ˜๋ฅผ ์ถœ๋ ฅํ•œ๋‹ค. ๋งŒ์•ฝ ๋‘ ํ์˜ ์ด ๊ธธ์ด + 1 ๋งŒํผ ํ•ด๋„ ๋‘ ํ์˜ ํ•ฉ์ด ๊ฐ™์ง€ ์•Š์œผ๋ฉด -1์„ ์ถœ๋ ฅํ•˜๊ณ  ์ข…๋ฃŒ ํ•œ๋‹ค.๋‘ ํ์˜ ์ด ๊ธธ์ด + 1 ๋งŒํผ ๋ฐ˜๋ณตํ•ด์•ผ ํ•˜๋Š” ์ด์œ ๋Š” ๋’ค์—์„œ ์„ค๋ช….3. ์ฝ”๋“œ ๋ถ„์„import java.io.*;import java.util.*;class Solution { public int solution(int[] queue1, int[] queue2) { ArrayDeque a = new ArrayDeque()..
2024.07.29
์•Œ๊ณ ๋ฆฌ์ฆ˜/๋ฌธ์ œ ํ’€์ด
thumbnail
99ํด๋Ÿฝ ์ฝ”ํ…Œ ์Šคํ„ฐ๋”” 5์ผ์ฐจ TIL + Programmers ๋ฒ ์ŠคํŠธ ์•จ๋ฒ”
1. ๋ฌธ์ œ ์„ค๋ช…๋ฌธ์ œ ๋งํฌ2. ์ ‘๊ทผ ๋ฐฉ์‹KEY WORD: Sorting, HashMap์Œ์•… ๊ฐ์ฒด๋ฅผ ๋งŒ๋“ ๋‹ค. ( ๋ฉค๋ฒ„ ๋ณ€์ˆ˜: ์ž์‹ ์˜ ๊ณ ์œ ๋ฒˆํ˜ธ, ์žฅ๋ฅด, ํ”Œ๋ ˆ์ด ํšŸ์ˆ˜ )์ž…๋ ฅ ๊ฐ’๋“ค์„ ์ „๋ถ€ ์Œ์•… ๊ฐ์ฒด๋กœ ๋ฐ”๊ฟ”์„œ ArrayList์— ์ถ”๊ฐ€ํ•œ๋‹ค.HashMap์„ ๋งŒ๋“ ๋‹ค. Key = ์žฅ๋ฅด , value = ์žฅ๋ฅด์— ํ•ด๋‹นํ•˜๋Š” ๊ณก๋“ค์˜ ํ”Œ๋ ˆ์ด ์ดํ•ฉ2๋ฒˆ์—์„œ ๋งŒ๋“  ArrayList๋ฅผ ์ •๋ ฌํ•œ๋‹ค. ์ •๋ ฌ ๊ธฐ์ค€์€ ๋ฌธ์ œ ๊ทธ๋Œ€๋กœ๋‹ค. -> Comparator๋ฅผ ๋‹จ์ˆœํ™”ํ•œ Lamda ์‹์„ ์ด์šฉํ•ด ๊ตฌํ˜„๋‹ต๋ณ€์šฉ ansList๋ฅผ ๋งŒ๋“ค๊ณ , ๋‹ต๋ณ€์— ์žฅ๋ฅด๋ณ„๋กœ ๋ช‡ ๋ฒˆ ๋“ค์–ด๊ฐ”๋Š”์ง€๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š” genreAddedCount๋ผ๋Š” HashMap๋„ ํ•˜๋‚˜ ๋” ๋งŒ๋“ ๋‹ค.genreAddedCount๋Š” Key = ์žฅ๋ฅด, value = ์žฅ๋ฅด ๋ณ„๋กœ ๋‹ต๋ณ€ List์— ๋‚˜์˜จ ํšŸ์ˆ˜ ์ด๋‹ค. .get..
2024.07.27
์•Œ๊ณ ๋ฆฌ์ฆ˜/๋ฌธ์ œ ํ’€์ด
thumbnail
99ํด๋Ÿฝ ์ฝ”ํ…Œ ์Šคํ„ฐ๋”” 4์ผ์ฐจ TIL + Programmers ๋ฌธ์ž์—ด ์••์ถ•
1. ๋ฌธ์ œ ์„ค๋ช…๋ฌธ์ œ ๋งํฌ2. ์ ‘๊ทผ ๋ฐฉ์‹๋ถ€๋ถ„ ๋ฌธ์ž์—ด์€ ํฌ๊ธฐ 1๋ถ€ํ„ฐ N/2๊นŒ์ง€๋งŒ ์ƒ๊ฐํ•˜๋ฉด ๋œ๋‹ค. (N = ๋ฌธ์ž์—ด์˜ ๊ธธ์ด)์™œ๋ƒํ•˜๋ฉด, ๋ถ€๋ถ„ ๋ฌธ์ž์—ด์˜ ํฌ๊ธฐ๊ฐ€ ์ ˆ๋ฐ˜ ์ด์ƒ์ด๋ฉด ๋ฐ˜๋ณต์ด ๋ถˆ๊ฐ€ํ•˜๋ฏ€๋กœ, ์„ธ๋Š” ์˜๋ฏธ๊ฐ€ ์—†๋‹ค. 1๋ฒˆ์—์„œ ์ •ํ•œ ๋ฌธ์ž์—ด ํฌ๊ธฐ๋งŒํผ ์ฒ˜์Œ๋ถ€ํ„ฐ ์ž๋ฅธ๋‹ค. ์ด ํ–‰์œ„๋Š” 0 ~ N - i ๊นŒ์ง€๋งŒ ๋ฐ˜๋ณตํ•œ๋‹ค. ๋ถ€๋ถ„๋ฌธ์ž์—ด์„ ๊ตฌํ•˜๋Š” substring(startIndex, endIndex)์—์„œ endIndex๊ฐ€ ๋ฐฐ์—ด์˜ ๋ฒ”์œ„๋ฅผ ๋„˜์–ด๊ฐ€๋ฉด ์˜ˆ์™ธ๊ฐ€ ๋ฐœ์ƒํ•œ๋‹ค. ์šฐ๋ฆฌ๋Š” substring(startIndex, startIndex+i)๋งŒํผ ํ•ญ์ƒ ํ•  ๊ฒƒ์ด๋ฏ€๋กœ, endIndex๊ฐ€ ๋ฐฐ์—ด์˜ ๋ฒ”์œ„๋ฅผ ๋„˜์–ด์„œ์ง€ ์•Š๋„๋ก ๋ฐ˜๋ณต์˜ ๋ฒ”์œ„๋ฅผ ์œ„์™€ ๊ฐ™์ด ์ •ํ•œ๋‹ค.์ตœ์ดˆ ์ž๋ฅธ ๋ถ€๋ถ„ ๋ฌธ์ž์—ด์€ ์ค‘๋ณต ์ฒดํฌ๊ฐ€ ๋ถˆ๊ฐ€ํ•˜๋ฏ€๋กœ ์ด์ „ ๋ฌธ์ž์—ด(์ดํ•˜ prev)์— ์ €์žฅํ•œ๋‹ค.์ด์ „ ๋ฌธ์ž์—ด๊ณผ..
2024.07.25
์•Œ๊ณ ๋ฆฌ์ฆ˜/๋ฌธ์ œ ํ’€์ด
thumbnail
99ํด๋Ÿฝ ์ฝ”ํ…Œ ์Šคํ„ฐ๋”” 3์ผ์ฐจ TIL + Programmers ์ˆซ์ž ๋ฌธ์ž์—ด๊ณผ ์˜๋‹จ์–ด java
1. ๋ฌธ์ œ ์„ค๋ช…๋ฌธ์ œ ๋งํฌ2. ์ ‘๊ทผ ๋ฐฉ์‹KEY WORD: Brute forcekey=String, value=Integer์ธ map์— ๋ฌธ์ž๋กœ ํ‘œํ˜„ํ•œ ์ˆซ์ž =intํ˜• ์ˆซ์ž๋กœ 1~9๊นŒ์ง€ ๋ชจ๋“  ์ˆซ์ž๋ฅผ ์ €์žฅํ•œ๋‹ค.ํฌ์ธํ„ฐ๋ฅผ ํ•˜๋‚˜ ์‚ฌ์šฉํ•˜์—ฌ ํ•ด๋‹น ํฌ์ธํ„ฐ๊ฐ€ ๊ฐ€๋ฅดํ‚ค๋Š” ๊ฐ’์„ word ๋ž€ StringBuilder์— ์ €์žฅํ•œ๋‹ค.(1) word์˜ ๊ธธ์ด๊ฐ€ 3์ด์ƒ์ด๋ฉด map์— ํ•ด๋‹น ๊ฐ’์„ key๋กœ ๊ฐ€์ง€๋Š” ๊ฐ’์ด ์žˆ๋‚˜ ๊ณ„์† ํ™•์ธ(2) ์žˆ์œผ๋ฉด ํ•ด๋‹น ์ˆ˜๋ฅผ ์ˆซ์ž๋กœ ๋ฐ”๊พธ์–ด ๋‹ต๋ณ€์ด ๋˜๋Š” ans์— ์ €์žฅํ•˜๊ณ  word๋ฅผ ๋น„์šด๋‹ค.(3) ์—†์œผ๋ฉด ํฌ์ธํ„ฐ๋ฅผ ํ•œ ์นธ ์ด๋™ํ•˜์—ฌ word๋ฅผ ๋˜ ์ฑ„์šด๋‹ค.(4) ๋งŒ์•ฝ ์ˆซ์ž๋ผ๋ฉด ans์— ๊ฐ’ ์ €์žฅํ•˜๊ณ  ๋ฐ”๋กœ ๊ฑด๋„ˆ ๋›ฐ๊ธฐ.3. ์ฝ”๋“œ ๋ถ„์„import java.io.*;import java.util.*;class Solution { ..
2024.07.24
์•Œ๊ณ ๋ฆฌ์ฆ˜/๋ฌธ์ œ ํ’€์ด