user-img
til 10
thumbnail
99ํด๋Ÿฝ ์ฝ”ํ…Œ์Šคํ„ฐ๋”” 31์ผ์ฐจ TIL + [ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค] ๋„คํฌ์›Œํฌ java ํ’€์ด
1. ๋ฌธ์ œ ์„ค๋ช…๋ฌธ์ œ ๋งํฌ์„œ๋กœ ์—ฐ๊ฒฐ๋˜์–ด ์žˆ๋Š” ๊ทธ๋ž˜ํ”„๋ฅผ ํ•˜๋‚˜์˜ ๊ตฐ์ง‘์ฒด๋กœ ๋ณผ ๋•Œ, ์ฃผ์–ด์ง„ ์ „์ฒด ๋…ธ๋“œ์—์„œ ๊ตฐ์ง‘์ฒด๊ฐ€ ์ด ๋ช‡ ๊ฐœ ์žˆ๋Š”์ง€ ๊ตฌํ•˜๋Š” ๋ฌธ์ œ์ด๋‹ค. 2. ์ ‘๊ทผ ๋ฐฉ์‹์ธ์ ‘ ๋ฆฌ์ŠคํŠธ ํ˜•ํƒœ๋กœ, ๋…ธ๋“œ์™€ ์—ฐ๊ฒฐ ์ •๋ณด๋ฅผ ์ €์žฅํ•œ๋‹ค. ๋ฐฉ๋ฌธ ๋ฐฐ์—ด์„ ๋งŒ๋“ค๊ณ  ๋ฐฉ๋ฌธํ•˜์ง€ ์•Š์€ ๋ฐฐ์—ด์„ ๊ธฐ์ ์œผ๋กœ BFS๋ฅผ ์‹คํ–‰ํ•œ๋‹ค.ํ•œ ๋ฒˆ BFS๋ฅผ ๋Œ๋ฉด, ์‹œ์ž‘ ์ •์ ๊ณผ ์—ฐ๊ฒฐ๋œ ๋ชจ๋“  ์ •์ ์€ ๋ฐฉ๋ฌธ ์ฒ˜๋ฆฌ๊ฐ€ ๋  ๊ฒƒ์ด๋‹ค. ์ด๋Š” ํ•˜๋‚˜์˜ ๊ตฐ์ง‘์ฒด๋ฅผ ์กฐํšŒํ•œ ๊ฑธ๋กœ ๋ณผ ์ˆ˜ ์žˆ๋‹ค. ๋”ฐ๋ผ์„œ BFS๋ฅผ ๋ˆ ํšŸ์ˆ˜๋งŒํผ ๊ตฐ์ง‘์ฒด๊ฐ€ ์กด์žฌํ•˜๋Š” ๊ฒƒ์ด๋ฏ€๋กœ, BFS๋ฅผ ์‹คํ–‰ํ•œ ํšŸ์ˆ˜๋ฅผ ๋ฐ˜ํ™˜ํ•˜๋ฉด ๋œ๋‹ค.3. ์ฝ”๋“œ ๋ถ„์„import java.io.*;import java.util.*;class Solution { public int solution(int n, int[][] computers) { ..
2024.08.21
์•Œ๊ณ ๋ฆฌ์ฆ˜/๋ฌธ์ œ ํ’€์ด
thumbnail
99ํด๋Ÿฝ ์ฝ”ํ…Œ ์Šคํ„ฐ๋”” 29์ผ TIL + [LeetCode] maximum-profit-job-scheduling ํ’€์ด์„ค๋ช…
1. ๋ฌธ์ œ ์„ค๋ช…๋ฌธ์ œ ๋งํฌ(1) ์ผ๊ฑฐ๋ฆฌ์˜ ์‹œ์ž‘ ์‹œ๊ฐ„, ๋ ์‹œ๊ฐ„, ์ผ์„ ๋๋ƒˆ์„ ๋•Œ์˜ ์ด์ต ์ด ์ฃผ์–ด์ง„๋‹ค.(2) ์‹œ์ž‘ ์‹œ๊ฐ„๊ณผ ๋ ์‹œ๊ฐ„์˜ ๋ฒ”์œ„๊ฐ€ ๊ฒน์น˜๋Š” ์ผ์€ ๊ฐ™์ด ํ•˜์ง€ ๋ชปํ•œ๋‹ค. ๋ฐ˜๋ฉด ์–ด๋–ค ์ผ์ด ๋๋‚˜์ž๋งˆ์ž ๋‹ค๋ฅธ ์ผ์€ ์‹œ์ž‘ํ•  ์ˆ˜ ์žˆ๋‹ค.์˜ˆ๋ฅผ ๋“ค์–ด, job A์˜ ๋ ์‹œ๊ฐ„์ด 3์‹œ ์ด๊ณ  job B์˜ ์‹œ์ž‘์‹œ๊ฐ„์ด 3์‹œ์ด๋ฉด ๋‘ ์ผ ๊ฑฐ๋ฆฌ๋Š” ์—ฐ๋‹ฌ์•„ ํ•  ์ˆ˜ ์žˆ๋‹ค. ๋ฐ˜๋ฉด job C๊ฐ€ 3~5์‹œ์ด๊ณ  job D๊ฐ€ 4~6์‹œ์ด๋ฉด ๋‘ ์ผ์€ ์ผ์˜ ์‹œ๊ฐ„ ๋ฒ”์œ„๊ฐ€ ๊ฒน์น˜๋ฏ€๋กœ ๊ฐ™์ดํ•˜์ง€ ๋ชปํ•œ๋‹ค.(3) ์ด๋•Œ, ๊ฒน์น˜์ง€ ์•Š๊ฒŒ ์ผ์„ ํ•ด์„œ, ์ตœ๋Œ€ ์ด์ต์„ ์–ป์œผ๋ ค๊ณ  ํ•œ๋‹ค. ์ฃผ์–ด์ง„ ์ผ๊ฑฐ๋ฆฌ๋“ค ์ค‘์—์„œ ๊ฐ€์งˆ ์ˆ˜ ์žˆ๋Š” ์ตœ๋Œ€ ์ด์ต์€ ๋ช‡์ธ๊ฐ€?2. ์ ‘๊ทผ ๋ฐฉ์‹KEY WORD: DP(1) ์ฃผ์–ด์ง„ ๋ฌธ์ œ๊ฐ€ ์‹œ์ž‘์‹œ๊ฐ„, ๋์‹œ๊ฐ„, ์ด์ต์„ ๋”ฐ๋กœ ๋”ฐ๋กœ ์ฃผ๊ธฐ์— ์ด๋ฅผ ํ•˜๋‚˜์˜ ์ผ(job) ๋‹จ์œ„๋กœ ํ•˜๋‚˜๋กœ ๋ฌถ..
2024.08.20
์•Œ๊ณ ๋ฆฌ์ฆ˜/๋ฌธ์ œ ํ’€์ด
thumbnail
99 ํด๋Ÿฝ ์ฝ”ํ…Œ ์Šคํ„ฐํ‹ฐ 16์ผ์ฐจ TIL + ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค N-queen java ์‰ฌ์šด ํ’€์ด!
1. ๋ฌธ์ œ ์„ค๋ช…๋ฌธ์ œ ์„ค๋ช…2. ์ ‘๊ทผ ๋ฐฉ์‹KEY WORD : BACK-TRACKING(0) ์‚ฌ์ „ ์„ธํŒ…1์ฐจ์› ๋ฐฐ์—ด(arr)์„ n์˜ ํฌ๊ธฐ๋งŒํผ ๋งŒ๋“ค๊ณ  ๋ฐฐ์—ด์˜ index = ํ–‰ , ๋ฐฐ์—ด์˜ value = ์—ด๋กœ ์ƒ๊ฐํ•œ๋‹ค.์˜ˆ๋ฅผ ๋“ค์–ด ๋ฐฐ์—ด์ด ๋‹ค์Œ๊ณผ ๊ฐ™์„ ๋•Œ, ๊ทธ๋ฆผ์œผ๋กœ ๋‚˜ํƒ€๋‚ด๋ฉด ์ด๋ ‡๊ฒŒ ๋œ๋‹ค.index(ํ–‰)0123value(์—ด)1302(1) ๋งŒ์•ฝ์— arr[i] = j ๋ผ๊ณ  ํ•œ๋‹ค๋ฉด 2์ฐจ์› ๋ฐฐ์—ด [i] [j] ์— ํ€ธ์„ ๋‘๊ฒ ๋‹ค๋Š” ์†Œ๋ฆฌ์ด๋‹ค. ์ด๊ฒŒ ๊ฐ€๋Šฅํ•œ์ง€ ์ฒดํฌํ•œ๋‹ค. ์ฒดํฌํ•˜๋Š” ๋ฐฉ๋ฒ•์€0 ~ i-1 ๊นŒ์ง€์˜ ๋ฐฐ์—ด ๊ฐ’์„ ์ด์šฉํ•ด, ์ด์ „์— ๋†”๋‘” ํ€ธ์˜ ๊ณต๊ฒฉ ๊ฒฝ๋กœ์™€ ๊ฒน์น˜๋Š”์ง€ ํ™•์ธํ•˜๋ฉด ๋œ๋‹ค. ํ™•์ธ๋ฒ•์€ ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค.(1-1) ์ขŒํ•˜๋‹จ ํ™•์ธ๋Œ€๊ฐ์„ ์ด ์ผ์น˜ํ•˜๋Š” ๊ฐ’๋“ค์€ ๋ชจ๋‘ ํ–‰+์—ด์˜ ํ•ฉ์ด ๊ฐ™๋‹ค. ์ด๋ฅผ ์ด์šฉํ•œ๋‹ค. ์šฐ๋ฆฌ์˜ ๊ฒฝ์šฐ๋Š” index๊ฐ€ ํ–‰์ด๊ณ  value๊ฐ€ ์—ด..
2024.08.06
์•Œ๊ณ ๋ฆฌ์ฆ˜/๋ฌธ์ œ ํ’€์ด
thumbnail
99 ํด๋Ÿฝ ์ฝ”ํ…Œ ์Šคํ„ฐํ‹ฐ 15์ผ์ฐจ TIL + ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ์†Œ์ˆ˜ ์ฐพ๊ธฐ java
1. ๋ฌธ์ œ ์„ค๋ช…๋ฌธ์ œ ์„ค๋ช…2. ์ ‘๊ทผ ๋ฐฉ์‹KEY WORD: ๋ธŒ๋ฃจํŠธ ํฌ์Šค(1) ๋ฌธ์ž์—ด๋กœ ๋ฐ›์€ ์ˆซ์ž๋ฅผ ํ•œ ์ž๋ฆฟ์ˆ˜๊ฐ€ ๋˜๊ฒŒ ๋‚˜๋ˆ„์–ด์„œ ๋ฐฐ์—ด์— ์ €์žฅํ•œ๋‹ค.(2) ์ „์ฒด ์ˆซ์ž๊ฐ€ n๊ฐœ๋ผ๋ฉด ๊ทธ ์ค‘ k๊ฐœ๋ฅผ ๋ฝ‘์•„์„œ ๋‚˜์—ดํ•œ๋‹ค. (์ˆœ์—ด, k = 1 ~ n )(3) ๋‚˜์—ด๋œ k๊ฐœ์˜ ์ˆ˜๋ฅผ ํ•ฉ์ณ์„œ ํ•˜๋‚˜์˜ ์ˆซ์ž๋กœ ๋งŒ๋“ค๊ณ , ์†Œ์ˆ˜ ํŒ๋ณ„ํ•œ๋‹ค. (์†Œ์ˆ˜ ํŒ๋ณ„๋ฒ• ์ด์šฉ)(4) ์†Œ์ˆ˜ ํŒ๋ณ„์ด ํ™•์ •๋˜๋ฉด ํ•ด๋‹น ์ˆ˜๊ฐ€ ์ด์ „์— ๋‚˜์™”๋Š”์ง€, hashSet์œผ๋กœ ์ฒดํฌํ•œ๋‹ค. ์—†์œผ๋ฉด, ์†Œ์ˆ˜์˜ ๊ฐœ์ˆ˜๋ฅผ +1 ์˜ฌ๋ฆฐ๋‹ค.  โ€ป์ถ”์‹ โ€ป(1)๋‚˜๋Š” ํ•œ์ž๋ฆฌ ์ˆ˜๋ฅผ ํ•ฉ์น˜๋Š” ๊ฒƒ์„ ์›๋ž˜์˜ ์ˆ˜ * 10 + ์ƒˆ๋กœ ๋“ค์–ด์˜จ ํ•œ ์ž๋ฆฌ ์ˆ˜๋กœ ๊ทธ๋•Œ ๊ทธ๋•Œ ๋ฐ”๋กœ ํ–ˆ๋‹ค.(2)์†Œ์ˆ˜ ํŒ๋ณ„๋ฒ•์„ ๋ชจ๋ฅธ๋‹ค๋ฉด, ์ •๋ฆฌ ์ž˜ ํ•œ ์‚ฌ๋žŒ ๋งํฌ๋ฅผ ๋ณด๊ณ  ์˜ค๊ธฐ ๋ฐ”๋ž€๋‹ค. ํ•ด๋‹น ๋งํฌ์—์„œ๋Š” ์™œ n์˜ ์ œ๊ณฑ๊ทผ๊นŒ์ง€๋งŒ ๋‚˜๋ˆ ์„œ ํ™•์ธํ•˜๋ฉด ๋˜๋Š”์ง€ ๋‚˜์™€์žˆ๋‹ค.(3)์†Œ..
2024.08.06
์•Œ๊ณ ๋ฆฌ์ฆ˜/๋ฌธ์ œ ํ’€์ด
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
์•Œ๊ณ ๋ฆฌ์ฆ˜/๋ฌธ์ œ ํ’€์ด