user-img
ALL 587
thumbnail
java TreeMap์— ๋Œ€ํ•ด ์•Œ์•„๋ณด์ž!
(1) ์ •์˜Red-black Tree๋ฅผ ์ด์šฉํ•˜์—ฌ ๊ตฌํ˜„ํ•œ Key ๊ฐ’์„ ๊ธฐ์ค€์œผ๋กœ ์ •๋ ฌ๋˜๋Š” Map์ด๋‹ค.์ •๋ ฌ ๊ธฐ์ค€์€ default๋กœ ์˜ค๋ฆ„์ฐจ์ˆœ์ด๊ณ , ๋งค๊ฐœ๋ณ€์ˆ˜๋กœ Comparator๋ฅผ ๋„ฃ์œผ๋ฉด, ๊ฐœ๋ฐœ์ž ์ž…๋ง›์— ๋”ฐ๋ผ ๋ฐ”๊ฟ€ ์ˆ˜ ์žˆ๋‹ค. TreeMap map = new TreeMap((o1,o2) -> (return o1.score - o2.score)); Red-black Tree ๋ž€? ์ด์ง„ํƒ์ƒ‰์„ ๋ณด์™„ํ•˜์—ฌ ์„ฑ๋Šฅ์„ ๊ฐœ์„ ํ•œ Tree ์ž๋ฃŒ ๊ตฌ์กฐ์ด๋‹ค. ์ด์ง„ํƒ์ƒ‰์€ ์ผ๋ฐ˜์ ์œผ๋กœ O(logN)์˜ ์‹œ๊ฐ„๋ณต์žก๋„๋ฅผ ๊ฐ€์ง€์ง€๋งŒ, ๋ฐ์ดํ„ฐ๊ฐ€ ํ•œ์ชฝ์œผ๋กœ ์น˜์šฐ์ณ์„œ, ์ผ์žํ˜• Tree๊ฐ€ ๋‚˜์˜ฌ ๊ฒฝ์šฐ(ex- ๊ณ„์† ์ž‘์€ ๊ฐ’์˜ ๋ฐ์ดํ„ฐ๋งŒ ์ž…๋ ฅ ๋“ฑ) O(n)์ด๋ผ๋Š” ์‹œ๊ฐ„๋ณต์žก๋„๊ฐ€ ๋“ ๋‹ค. ์ด์— ๋น„ํ•ด Red-black Tree๋Š” ๋ถ€๋ชจ๋…ธ๋“œ๋ฅผ ๊ธฐ์ค€์œผ๋กœ ํฐ ๊ฐ’์€ ์˜ค๋ฅธ์ชฝ, ์ž‘์€..
2024.07.18
Language/Java
thumbnail
[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค] ์ด์ค‘ ์šฐ์„ ์ˆœ์œ„ ํ Java
1. ๋ฌธ์ œ ์„ค๋ช…๋ฌธ์ œ ๋งํฌ2. ์ ‘๊ทผ ๋ฐฉ์‹TreeMap์„ ์ด์šฉํ•ด์„œ ์ ‘๊ทผํ–ˆ๋‹ค.TreeMap์€ Key ๊ฐ’์„ ๊ธฐ์ค€์œผ๋กœ ์ •๋ ฌ๋œ ์ž๋ฃŒ๊ตฌ์กฐ๋ฅผ ๋งํ•œ๋‹ค. ์ •๋ ฌ ๊ธฐ์ค€์€ default๊ฐ€ ์˜ค๋ฆ„ ์ฐจ์ˆœ์ด๊ณ , ๋งค๊ฐœ๋ณ€์ˆ˜๋กœ Comparator๋ฅผ ๋„ฃ์–ด์„œ ๋ฐ”๊ฟ€ ์ˆ˜ ์žˆ๋‹ค. ์ด๋•Œ ์ฃผ์˜ํ•  ๊ฒƒ์€ ๋Œ€์†Œ๊ด€๊ณ„ ๋น„๊ต๋Š” "Key" ๊ฐ’์œผ๋กœ ์ด๋ฃจ์–ด์ง„๋‹ค๋Š” ๊ฒƒ์ด๋‹ค.TreeMap map = new TreeMap((o1,o2) -> (return Integer.compare(o1.score, o2.score)));์—ฌ๊ธฐ์„œ ์ฃผ์˜ํ•ด์•ผํ•  ์ ์€๊ฐ’์— ์ค‘๋ณต์ด ์žˆ๋‹ค.์ตœ๋Œ€๊ฐ’, ์ตœ์†Œ๊ฐ’ ์ค‘ ์–ด๋Š ๊ฒƒ๋„ ๋น ์ ธ๋‚˜๊ฐˆ ์ˆ˜ ์žˆ๋‹ค.์ด๋‹ค.๋‹คํ–‰ํžˆ TreeMap์€ deque์ฒ˜๋Ÿผ rear๋ถ€๋ถ„๊ณผ front ๋ถ€๋ถ„์„ ๋‘˜ ๋‹ค ์กฐํšŒ ๊ฐ€๋Šฅํ•˜๋‹ค. (์‚ญ์ œ๋„ ๋ฐ”๋กœ๋ฐ”๋กœ ๋  ๊ฒƒ ๊ฐ™์€๋ฐ, ์ด ๋ถ€๋ถ„์€ ์ž๋ฃŒ ๊ตฌ์กฐ๋ฅผ ๋” ์ฐพ์•„๋ด์•ผ๊ฒ ..
2024.07.18
์•Œ๊ณ ๋ฆฌ์ฆ˜/๋ฌธ์ œ ํ’€์ด
thumbnail
[๋ฐฑ์ค€] 1167 ํŠธ๋ฆฌ์˜ ์ง€๋ฆ„ java
1. ๋ฌธ์ œ ์„ค๋ช…[๋ฌธ์ œ ๋งํฌ](https://www.acmicpc.net/problem/1167)2. ์ ‘๊ทผ ๋ฐฉ์‹์ž„์˜์˜ ์ •์ ์—์„œ ์ œ์ผ ๋จผ ์ •์ ์€ ํŠธ๋ฆฌ์˜ ์ง€๋ฆ„์ด ๋˜๋Š” ๋‘ ๊ฐœ์˜ ์  ์ค‘ ํ•˜๋‚˜์ด๋‹ค. ๋ผ๋Š” ์•„์ด๋””์–ด๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ๋ฌธ์ œ๋ฅผ ํ‘ผ๋‹ค. (์œ„์˜ Idea๊ฐ€ ์ดํ•ด๊ฐ€ ์•ˆ๋œ๋‹ค๋ฉด, ํ•œ๋ฒˆ ์˜ˆ์‹œ๋ฅผ ๊ฐ€์ง€๊ณ  ํ•ด๋ณด๋ฉด ๋œ๋‹ค. ์–ด๋Š ์ •์ ์—์„œ ์ถœ๋ฐœํ•˜๋“ , ๊ทธ ์ •์ ์˜ ์ œ์ผ ๋จผ ์ •์ ์€ ํŠธ๋ฆฌ์˜ ํ•œ ์ถ•์ด๋‹ค.)์‹œ์ž‘ ์ •์ ์„ ์ž…๋ ฅํ•˜๋ฉด, ์ œ์ผ ๋จผ ์ •์ ๊ณผ ๊ทธ๊นŒ์ง€ ๊ฐˆ ๋•Œ์˜ ๊ฑฐ๋ฆฌ๋ฅผ ๋ฐ˜ํ™˜ํ•˜๋Š” bfs ํ•จ์ˆ˜๋ฅผ ๋งŒ๋“ ๋‹ค.ํ•ด๋‹น ํ•จ์ˆ˜์— ์ž„์˜์˜ ์ •์  (์ œ ํ’€์ด์—์„  1)์„ ๋„ฃ๊ณ , ํŠธ๋ฆฌ์˜ ์ง€๋ฆ„์ด ๋˜๋Š” ์ •์ ์„ ๊ตฌํ•œ๋‹ค.๋ฐ˜ํ™˜ ๋ฐ›์€ ์ •์ ์„ ๋‹ค์‹œ bfs ํ•จ์ˆ˜์— ์ž…๋ ฅํ•ด์„œ, ์ž…๋ ฅ ์ •์ ์—์„œ ์ œ์ผ ๋จผ ์ •์ ๊ณผ ๊ทธ๊นŒ์ง€ ๊ฐˆ ๋•Œ์˜ ๊ฑฐ๋ฆฌ๋ฅผ ๋ฐ˜ํ™˜ ๋ฐ›๋Š”๋‹ค.ํ•ด๋‹น ๊ฑฐ๋ฆฌ๋ฅผ ์ถœ๋ ฅํ•œ๋‹ค. 3. ์ฝ”๋“œ ๋ถ„์„import..
2024.07.13
์•Œ๊ณ ๋ฆฌ์ฆ˜/๋ฌธ์ œ ํ’€์ด
thumbnail
[๋ฐฑ์ค€] 2178 ๋ฏธ๋กœํƒ์ƒ‰ java
1. ๋ฌธ์ œ ์„ค๋ช…[๋ฌธ์ œ ๋งํฌ](https://www.acmicpc.net/problem/2178)2. ์ ‘๊ทผ ๋ฐฉ์‹ BFS์˜ ๊ฒฝ์šฐ ์‹œ์ž‘ ๋…ธ๋“œ์—์„œ ๊ฐˆ ์ˆ˜ ์žˆ๋Š” ๊ฐ€์žฅ ๊ฐ€๊นŒ์šด ๋…ธ๋“œ ๊ณ„์ธต๋ถ€ํ„ฐ ์šฐ์„ ์ ์œผ๋กœ ๊ฐ€๊ธฐ ๋•Œ๋ฌธ์—, ์‹œ์ž‘ ๋…ธ๋“œ์—์„œ ๋ชฉ์ ์ง€ ๋…ธ๋“œ๊นŒ์ง€ ๊ฐ€๋Š” ์ตœ๋‹จ ๊ฒฝ๋กœ๋กœ ๊ฐ€๋Š” ๊ฒƒ์„ ๋ณด์žฅํ•œ๋‹ค. ๋”ฐ๋ผ์„œ ํ•ด๋‹น ๋ฌธ์ œ๋Š” BFS๋กœ ํ‘ผ๋‹ค. ์ด์ „์˜ BFS๋ฌธ์ œ์™€์˜ ์ฐจ์ด์ ์€ ํ•ด๋‹น ๋ฌธ์ œ๊ฐ€ ๊ทธ๋ž˜ํ”„๊ฐ€ ์•„๋‹Œ 2์ฐจ์› ๋ฐฐ์—ด๋กœ ์ž…๋ ฅ๊ฐ’์ด ์ฃผ์–ด์ง„๋‹ค๋Š” ๊ฒƒ์ด๋‹ค. ํ•˜์ง€๋งŒ ๋‹ค๋ฅผ ๊ฒƒ์€ ์—†๊ณ , `์‹œ์ž‘ ๋…ธ๋“œ์—์„œ ์œ„ ์•„๋ž˜ ์ขŒ ์šฐ ๋ถ™์–ด์žˆ๋Š” ํ–‰๋ ฌ ๊ฐ’` == `์ธ์ ‘ ์ •์ ` ์ด๋ผ๊ณ  ์ƒ๊ฐํ•˜๋ฉด ๋œ๋‹ค. ๋ฌธ์ œ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์ด ํ’€์—ˆ๋‹ค. ArrayDeque๋ฅผ ๋งŒ๋“ค์–ด์„œ, ์‹œ์ž‘ ํ–‰๋ ฌ์„ ์ง‘์–ด๋„ฃ๋Š”๋‹ค.ArrayDeque๊ฐ€ ๋นŒ ๋•Œ๊นŒ์ง€ ํ์•ˆ์˜ ๊ฐ’์„ ๊บผ๋‚ด์„œ, ์‚ฌ๋ฐฉ ํƒ์ƒ‰ํ•˜๊ณ , ๋ฏธ๋ฐฉ๋ฌธ ํ–‰๋ ฌ์˜ ๊ฒฝ์šฐ queu..
2024.07.13
์•Œ๊ณ ๋ฆฌ์ฆ˜/๋ฌธ์ œ ํ’€์ด
thumbnail
[์ž๋ฃŒ๊ตฌ์กฐ] ๊ทธ๋ž˜ํ”„๋ฅผ ์ž๋ฃŒ๊ตฌ์กฐ๋กœ ๋‚˜ํƒ€๋‚ด๋ณด์ž!
(0) ๊ทธ๋ž˜ํ”„๋ž€?a. ์ •์˜๊ฐ’์„ ๋‹ด๊ณ  ์žˆ๋Š” ์ •์ (Vertex)์™€ ๊ทธ ์ •์ ๋“ค์„ ์ž‡๋Š” ๊ฐ„์„ (Edge)์œผ๋กœ ์ด๋ฃจ์–ด์ ธ ์žˆ๋Š” ์ž๋ฃŒ๊ตฌ์กฐb. ๊ทธ๋ž˜ํ”„ ๊ด€๋ จ ์šฉ์–ด์šฉ์–ด๋œป์ •์ (Vertex or Node)๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•˜๋Š” ๊ณณ๊ฐ„์„ (Edge)์ •์ ๊ณผ ์ •์ ์„ ์ž‡๋Š” ์„ ์ธ์ ‘ํ•˜๋‹ค.์ •์  A์™€ B๊ฐ€ ๊ฐ„์„ ์œผ๋กœ ์ด์–ด์ ธ ์žˆ์œผ๋ฉด, ์ •์  A์™€ B๋Š” ์„œ๋กœ ์ธ์ ‘ํ•˜๋‹ค.๋ผ๊ณ  ํ•œ๋‹ค. ์ธ์ ‘ ์ •์ : ํ•˜๋‚˜์˜ ์ •์  A์™€ ๊ฐ„์„ ์œผ๋กœ ์ด์–ด์ ธ ์žˆ๋Š” ์ •์ ๋“ค์„ ์ธ์ ‘์ •์ ์ด๋ผ๊ณ  ํ•œ๋‹ค. ์œ„์˜ ์˜ˆ์‹œ์—์„œ B๋Š” A์˜ ์ธ์ ‘์ •์ ์ด๋‹ค.์ฐจ์ˆ˜ํ•˜๋‚˜์˜ ์ •์  A์™€ ์—ฐ๊ฒฐ๋œ ๊ฐ„์„ ์˜ ๊ฐœ์ˆ˜์ด๋‹ค. a์˜ ์˜ˆ์‹œ์—์„œ ์ •์ 2์˜ ์ฐจ์ˆ˜๋Š” 3์ด๊ณ  ์ •์ 4์˜ ์ฐจ์ˆ˜๋Š” 4์ด๋‹ค. ์ง„์ž… ์ฐจ์ˆ˜: ๋ฐฉํ–ฅ์ด ์žˆ๋Š” ๊ทธ๋ž˜ํ”„์—์„œ ์™ธ๋ถ€๋กœ๋ถ€ํ„ฐ ๋“ค์–ด์˜ค๋Š” ๊ฐ„์„ ์˜ ๊ฐœ์ˆ˜๋ฅผ ๋งํ•œ๋‹ค. ์ง„์ถœ ์ฐจ์ˆ˜: ๋ฐฉํ–ฅ์ด ์žˆ๋Š” ๊ทธ๋ž˜ํ”„์—์„œ ์™ธ๋ถ€๋กœ ๋ป—์–ด๋‚˜๊ฐ€๋Š” ๊ฐ„์„ ์˜..
2024.07.12
์•Œ๊ณ ๋ฆฌ์ฆ˜/์•Œ๊ณ ๋ฆฌ์ฆ˜-์ด๋ก 
thumbnail
[๋ฐฑ์ค€] ABCDE java
1. ๋ฌธ์ œ ์„ค๋ช…๋ฌธ์ œ ๋งํฌ๋ฌธ์ œ ์„ค๋ช…์ด ์กฐ๊ธˆ ์ง๊ด€์ ์ด์ง„ ์•Š์€๋ฐ, A๋Š” ์นœ๊ตฌ์˜ ์นœ๊ตฌ๋ฅผ ํ˜๋Ÿฌ๊ฐ€์„œ E๊นŒ์ง€ ์นœ๊ตฌ๊ฐ€ ๋œ๋‹ค. ์ฆ‰ DFS๋กœ ํ–ˆ์„ ๋•Œ, ๊นŠ์ด๊ฐ€ 5๊นŒ์ง€ ๊ฐ€๋Š” ๊ด€๊ณ„๊ฐ€ ์žˆ๋Š”์ง€ ์ฐพ๋Š” ๋ฌธ์ œ์ด๋‹ค.2. ์ ‘๊ทผ ๋ฐฉ์‹๋ฌธ์ œ์— ๋‚˜์™€ ์žˆ๋“ฏ์ด, ์ž„์˜์˜ ์‹œ์ž‘ ๋…ธ๋“œ๋ฅผ ์„ ์ •ํ•ด์„œ, ๊ฑฐ๊ธฐ์„œ๋ถ€ํ„ฐ ๊นŠ์ด๊ฐ€ 5์ธ DFS ์žฌ๊ท€๊ฐ€ ์„ฑ๋ฆฝํ•˜๋Š” ๊ฒŒ ์žˆ์œผ๋ฉด 1, ๋ชจ๋“  ๋…ธ๋“œ๋ฅผ ์‹œ์ž‘ ๋…ธ๋“œ๋กœ ๋‘๊ณ  ํ•ด๋„, ๊นŠ์ด๊ฐ€ 5์ธ ์žฌ๊ท€๊ฐ€ ์„ฑ๋ฆฝํ•˜์ง€ ์•Š์œผ๋ฉด 0์„ ์ถœ๋ ฅํ•˜๋ฉด ๋œ๋‹ค.3. ์ฝ”๋“œ ๋ถ„์„import java.io.*;import java.util.ArrayList;import java.util.StringTokenizer;public class Main { static int N, M; static ArrayList[] lists; static boolean ..
2024.07.11
์•Œ๊ณ ๋ฆฌ์ฆ˜/๋ฌธ์ œ ํ’€์ด
thumbnail
[๋ฐฑ์ค€] ์‹ ๊ธฐํ•œ ์†Œ์ˆ˜ java
1. ๋ฌธ์ œ ์„ค๋ช…๋ฌธ์ œ ๋งํฌ2. ์ ‘๊ทผ ๋ฐฉ์‹๋‘ ๊ฐ€์ง€ ํ•จ์ˆ˜๋ฅผ ์ด์šฉํ•ด ๋ฌธ์ œ๋ฅผ ํ‘ผ๋‹ค.DFS : ํ˜„์žฌ ์ˆ˜๊ฐ€ ์†Œ์ˆ˜๊ฐ€ ๋งž๋‹ค๋ฉด, ์˜ค๋ฅธ์ชฝ์˜ ์ž๋ฆฟ์ˆ˜๋ฅผ ํ•˜๋‚˜ ๋Š˜๋ ค์„œ ์žฌ๊ท€ ํ•œ๋‹ค. (๋ฌธ์ œ์—์„œ ์š”๊ตฌํ•œ ์ž๋ฆฟ์ˆ˜ ๊นŒ์ง€ ๋ฐ˜๋ณต)์†Œ์ˆ˜ ํŒ๋ณ„: ์ฃผ์–ด์ง„ ์ˆ˜๊ฐ€ N์ด๋ผ๋ฉด 2~ √N๊นŒ์ง€์˜ ์ˆ˜๋กœ N์„ ๋‚˜๋ˆ„์—ˆ์„ ๋•Œ, ๋‚˜๋จธ์ง€๊ฐ€ 0์ด๋ฉด false, ํ•˜๋‚˜๋„ ๋‚˜๋จธ์ง€๊ฐ€ 0์ด ์•ˆ๋˜๋ฉด ์†Œ์ˆ˜์ž„์œผ๋กœ true๋ฅผ ๋ฐ˜ํ™˜ํ•œ๋‹ค.ํ•ด๋‹น ํ•จ์ˆ˜๋“ค์„ ์ด์šฉํ•ด, ํ˜„์žฌ ์ž๋ฆฟ์ˆ˜๊นŒ์ง€ ์†Œ์ˆ˜์ธ์ง€ ํŒ๋ณ„ ํ›„ ๊ทธ ๋‹ค์Œ ์ž๋ฆฟ์ˆ˜๋กœ ๋„˜์–ด๊ฐ„๋‹ค.3. ์ฝ”๋“œ ๋ถ„์„import java.io.*;import java.util.ArrayDeque;import java.util.ArrayList;import java.util.BitSet;import java.util.StringTokenizer;public class Main..
2024.07.11
์•Œ๊ณ ๋ฆฌ์ฆ˜/๋ฌธ์ œ ํ’€์ด
thumbnail
ํ•˜๋‚˜ ๋˜๋Š” ๋‹ค์ˆ˜์˜ ์†Œ์ˆ˜ ํŒ๋ณ„๋ฒ•, ๊ทธ๋ฆผ์œผ๋กœ ์‰ฝ๊ฒŒ ์ดํ•ดํ•˜๊ธฐ
1. ํ•˜๋‚˜์˜ ์ˆซ์ž์— ๋Œ€ํ•œ ์†Œ์ˆ˜ ํŒ๋ณ„(1) ๋ฐฉ๋ฒ•๋งŒ์•ฝ ์†Œ์ˆ˜์ธ์ง€ ํŒ๋ณ„ํ•ด์•ผํ•  ์ˆซ์ž๋ฅผ N์ด๋ผ๊ณ  ํ•œ๋‹ค๋ฉด, ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๋ฐฉ๋ฒ•์œผ๋กœ N์ด ์†Œ์ˆ˜์ธ์ง€ ์—ฌ๋ถ€๋ฅผ ํŒ๋ณ„ํ•  ์ˆ˜ ์žˆ๋‹ค.int N = Integer.parseInt(br.readLine());for(int i = 2; i(2) ์™œ √N๊นŒ์ง€๋งŒ ํ™•์ธํ•˜๋ฉด ๋˜๋‚˜์š”?'N์—๊ฒŒ ์•ฝ์ˆ˜๊ฐ€ ์กด์žฌํ•œ๋‹ค๋ฉด, ์•ฝ์ˆ˜๋Š” ๊ณฑํ•ด์„œ N์„ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋Š” ๊ฐ์ž์˜ ์ง์ด ์กด์žฌํ•œ๋‹ค. ์ง์ด ๋˜๋Š” ์•ฝ์ˆ˜์˜ ์Œ์„ (A,B)๋ผ ํ•  ๋•Œ, A๊ฐ€ √N๋ณด๋‹ค ์ž‘๋‹ค๋ฉด, B๋Š” √N๋ณด๋‹ค ํฌ๋‹ค.'์œ„์˜ ์„ฑ์งˆ์„ ์ด์šฉํ•ด์„œ, √N์˜ ์ดํ•˜๋งŒ ํ™•์ธํ•œ๋‹ค. ๋งŒ์•ฝ √N ์ดํ•˜์ธ ๋ถ€๋ถ„์—์„œ 1์„ ์ œ์™ธํ•œ ์–ด๋– ํ•œ ์ˆ˜๋„ N์„ ๋‚˜๋ˆŒ ์ˆ˜ ์—†๋‹ค๋ฉด, √N ์ด์ƒ์˜ ๋ฐ˜๋Œ€ํŽธ์—์„œ๋„ N ์ž์‹ ์„ ์ œ์™ธํ•œ ์–ด๋–ค ์ˆ˜๋„ N์„ ๋‚˜๋ˆŒ ์ˆ˜ ์—†์Œ์ด ์ฆ๋ช…๋œ๋‹ค. ๋”ฐ๋ผ์„œ N์€ ์†Œ์ˆ˜์ž„์ด ํŒ๋ช…๋œ๋‹ค.์˜ˆ์‹œ ..
2024.07.11
์•Œ๊ณ ๋ฆฌ์ฆ˜/์•Œ๊ณ ๋ฆฌ์ฆ˜-์ด๋ก 
thumbnail
[๋ฐฑ์ค€] 10989 ์ˆ˜ ์ •๋ ฌํ•˜๊ธฐ 3
1. ๋ฌธ์ œ ์„ค๋ช…๋ฌธ์ œ๋งํฌ2. ์ ‘๊ทผ ๋ฐฉ์‹๊ธฐ์ˆ˜ ์ •๋ ฌ์„ ์ด์šฉํ•ด์„œ ๋ฌธ์ œ๋ฅผ ํ’€๋ ค๊ณ  ํ–ˆ๋‹ค. ๊ทผ๋ฐ, ๋‹ค๋ฅธ ์‚ฌ๋žŒ๋“ค์˜ ์งˆ๋ฌธ์„ ๋ณด๋‹ˆ, ์˜ˆ์ „์—๋Š” ๊ธฐ์ˆ˜ ์ •๋ ฌ์„ ์ด์šฉํ•ด ๋ฌธ์ œ๊ฐ€ ํ’€๋ ธ์œผ๋‚˜, ๋ฉ”๋ชจ๋ฆฌ ์ œํ•œ์ด ์ƒ๊ธด ์ดํ›„๋กœ ํ’€๋ฆฌ์ง€ ์•Š๋Š”๋‹ค๊ณ  ํ•œ๋‹ค. ๋ฌธ์ œ์—์„œ ์ฃผ์–ด์ง€๋Š” ๋ฐ์ดํ„ฐ์˜ ํฌ๊ธฐ๋Š” 10,000,000 ๊ฐœ์ด๊ณ , ํ•˜๋‚˜์˜ ๋ฐ์ดํ„ฐ๋ฅผ int ๋ฐฐ์—ด์˜ ์›์†Œ๋กœ ๋„ฃ์–ด์„œ ๋ณด๊ด€ํ•œ๋‹ค๋ฉด, ์ด 40MB๊ฐ€ ๋“ ๋‹ค. (๋ฐ‘์— ๋ณด๋ฉด, java์˜ ๊ฒฝ์šฐ 512MB๊นŒ์ง€ ์šฉ๋Ÿ‰ ํ—ˆ์šฉ๋œ๋‹ค๊ณ  ์ ํ˜€์žˆ๋Š”๋ฐ, ๋˜‘๊ฐ™์ด ์•ˆ๋œ๋‹ค.)๊ธฐ์ˆ˜ ์ •๋ ฌ์˜ ๊ณต๊ฐ„ ๋ณต์žก๋„๋Š” O(W+n)์œผ๋กœ 40MB์˜ ๊ฒฝ์šฐ ๋ฌธ์ œ์—์„œ ์ฃผ๋Š” ๋ฉ”๋ชจ๋ฆฌ ์šฉ๋Ÿ‰์„ ์ดˆ๊ณผํ•œ๋‹ค. ๋‚ด๊ฐ€ ArrayDeque 10๊ฐœ๋ฅผ ํ™œ์šฉํ•ด ๊ธฐ์ˆ˜ ์ •๋ ฌ์„ ๊ตฌํ˜„ํ•˜๋Š” ๋ฐ”๋žŒ์— ์˜ค๋ฅ˜๊ฐ€ ๋‚ฌ๋‚˜ ์‹ถ์–ด์„œ, ์ฝ”๋”ฉ ํ…Œ์ŠคํŠธ ์ฑ…์— ์žˆ๋Š” ํ’€์ด๋ฅผ ๋˜‘๊ฐ™์ด ๊ตฌํ˜„ํ•˜์˜€์œผ๋‚˜, ๊ทธ๊ฑด ๋˜ ์‹œ๊ฐ„์ดˆ๊ณผ๊ฐ€ ๋‚ฌ๋‹ค.ํ•˜์ง€..
2024.07.07
์•Œ๊ณ ๋ฆฌ์ฆ˜/๋ฌธ์ œ ํ’€์ด
thumbnail
[ํ† ํฐ ์ธ์ฆ ๋ฐฉ์‹]์˜ ์›๋ฆฌ, ์„ธ์…˜ ์ธ์ฆ๊ณผ์˜ ์ฐจ์ด์ 
1. Token ์ธ์ฆ ๋ฐฉ์‹์ด ์–ด๋–ป๊ฒŒ ์ด๋ฃจ์–ด ์ง€๋Š”๊ฐ€ํšŒ์›์ด ๋กœ๊ทธ์ธ์„ ์‹œ๋„ํ•œ๋‹ค๊ณ  ๊ฐ€์ •ํ•ด๋ณด์ž.โ“ Client๊ฐ€ ID/PW ๋กœ๊ทธ์ธ ์ฐฝ์— ์จ์„œ ์ œ์ถœํ•œ๋‹ค. โ“‘ Server๊ฐ€ DB๋ฅผ ํ†ตํ•ด ํ•ด๋‹น ID/PW๋ฅผ ๊ฐ€์ง„ ํšŒ์›์ด ์žˆ๋Š”์ง€ ํ™•์ธํ•œ๋‹ค. ์—ฌ๊ธฐ์„œ ํ•ด๋‹น ํšŒ์›์˜ ์ •๋ณด๊ฐ€ ์šฐ๋ฆฌ DB์— ์žˆ์–ด์„œ ์šฐ๋ฆฌ ํšŒ์›์ธ ๊ฒƒ์ด ํ™•์ธ ๋˜์—ˆ๋‹ค๊ณ  ๊ฐ€์ •ํ•ด๋ณด์ž. โ“’ Server์—์„œ ํ•ด๋‹น ํšŒ์›์˜ ์ •๋ณด๋ฅผ ์ด์šฉํ•˜์—ฌ ๊ณ ์œ ํ•œ Token์„ ๋งŒ๋“ ๋‹ค. โ““ ๊ทธ๋ฆฌ๊ณ  ํ•ด๋‹น ํ† ํฐ์„ ์•„๊นŒ ์œ ํšจํ•œ ์š”์ฒญ์„ ํ•œ ํด๋ผ์ด์–ธํŠธ์—๊ฒŒ ๋ณด๋‚ด์ค€๋‹ค. โ“” ์ด์ œ ํด๋ผ์ด์–ธํŠธ๋Š” ์ธ์ฆ์ด ํ•„์š”ํ•œ API๋ฅผ ์ด์šฉํ•  ๊ฒฝ์šฐ ํ•ด๋‹น Token์„ ์š”์ฒญ Header์— ๋™๋ด‰ํ•˜์—ฌ ๊ฐ™์ด ๋ณด๋‚ธ๋‹ค. โ“• ์ด์ œ ์„œ๋ฒ„์—์„œ๋Š” ํ•ด๋‹น Token์˜ ์œ ํšจ์„ฑ์„ ๊ฒ€์ฆ ํ›„ ์œ ํšจํ•œ ํ† ํฐ์ด ๋งž๋‹ค๋ฉด ์‘๋‹ต์œผ๋กœ ์š”์ฒญํ•œ ๋‚ด์šฉ์— ๋Œ€ํ•œ ์ •์ƒ ๋‹ต๋ณ€์„ ๋ณด๋‚ด์ฃผ๋ฉด ๋œ..
2024.07.07
๋ฐฑ์—”๋“œ ๊ฐœ๋ฐœ/Spring-Security
thumbnail
[๋ฐฑ์ค€] 11004 K ๋ฒˆ์งธ ์ˆ˜ quick selection sorting์œผ๋กœ ํ’€๊ธฐ
1. ๋ฌธ์ œ ์„ค๋ช…๋ฌธ์ œ ๋งํฌ2. ์ ‘๊ทผ ๋ฐฉ์‹quick ์ •๋ ฌ์„ ์ด์šฉํ•ด ๋ฌธ์ œ๋ฅผ ํ’€์—ˆ๋‹ค. ํ•˜์ง€๋งŒ ๊ธฐ๋ณธ์ ์ธ quick sort๋กœ ๋ฌธ์ œ๋ฅผ ํ’€๋ฉด ์‹œ๊ฐ„์ดˆ๊ณผ๊ฐ€ ๋‚œ๋‹ค. quick sort์˜ ์ตœ์•… ์‹œ๊ฐ„๋ณต์žก๋„๋Š” O(n^2) ์ธ๋ฐ, ๋ฐ์ดํ„ฐ์˜ ํฌ๊ธฐ๊ฐ€ 5,000,000 ์ด๋ผ n^2๋ฅผ ํ•˜๋ฉด 2 ์–ต๋ฒˆ์˜ ๊ณ„์‚ฐ์„ ํ›Œ์ฉ ๋„˜๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.๋”ฐ๋ผ์„œ O(nlogn)์˜ ๋‹ค๋ฅธ ์ •๋ ฌ์„ ์“ฐ๊ฑฐ๋‚˜, quick sort๋ฅผ ์ตœ์ ํ™” ํ•ด์ค˜์•ผ ํ•œ๋‹ค. ๋‚˜๋Š” quick sort๋ฅผ ์ตœ์ ํ™”ํ•˜๋Š” ๋ฐฉํ–ฅ์„ ์„ ํƒํ–ˆ๋‹ค. ํ•ด๋‹น ๋ฌธ์ œ๋Š” k๋ฒˆ์งธ index์˜ ์ˆ˜๊ฐ€ ๋ฌด์—‡์ธ์ง€๋งŒ ๊ตฌํ•˜๋ฉด ๋˜๋Š” ๋ฌธ์ œ์ด๋ฏ€๋กœ, ๋ชจ๋“  ๋ฐฐ์—ด์„ ์ •๋ ฌ์‹œํ‚ฌ ํ•„์š”๊ฐ€ ์—†๋‹ค. ๋”ฐ๋ผ์„œ ์ด๋ถ„ ํƒ์ƒ‰์ฒ˜๋Ÿผ ๊ตฌ์—ญ์„ ๋‚˜๋ˆ ์„œ, ํ•„์š” ์—†๋Š” ๋ถ€๋ถ„์˜ ์ •๋ ฌ์€ ํ•˜์ง€ ์•Š๋Š”๋‹ค.K๋ฒˆ์งธ ์ˆ˜๋ฅผ ์•Œ์•„๋‚ด๋ฉด ๊ฑฐ๊ธฐ์„œ ์ข…๋ฃŒํ•œ๋‹ค. โ“ ํ˜„์žฌ ์ •๋ ฌํ•˜๋ ค๋Š” ๋ฒ”์œ„์˜ ์ค‘์•™๊ฐ’์„ pivot์œผ..
2024.07.05
์•Œ๊ณ ๋ฆฌ์ฆ˜/๋ฌธ์ œ ํ’€์ด
thumbnail
[๋ฐฑ์ค€] 11003 ์ตœ์†Œ๊ฐ’ ์ฐพ๊ธฐ java
1. ๋ฌธ์ œ ์„ค๋ช…๋ฌธ์ œ ๋งํฌ2. ์ ‘๊ทผ ๋ฐฉ์‹์Šฌ๋ผ์ด๋”ฉ ์œˆ๋„์šฐ์™€ ์ž๋ฃŒ๊ตฌ์กฐ ๋ฑํ๋ฅผ ์ด์šฉํ•œ๋‹ค. ํ•ด๋‹น ๋ฌธ์ œ๋Š” ๋ฐ์ดํ„ฐ์˜ ๊ฐœ์ˆ˜๊ฐ€ ์ด๋ฏธ 10^6์ด๋ผ์„œ O(n) ์•ˆ์— ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐ ํ•ด์•ผํ•œ๋‹ค. ์ด ๋ฌธ์ œ๋ฅผ ์œˆ๋„์šฐ ์•ˆ์— ์žˆ๋Š” ๊ฐ’๋“ค์„ ์ตœ์†Œ๊ฐ’ ์ •๋ ฌํ•ด์„œ ํ’€๋ ค๋Š” ์‚ฌ๋žŒ๋“ค์ด ์žˆ์„์ง€ ๋ชจ๋ฅด๋Š”๋ฐ, ์ •๋ ฌ์€ O(nlogn)์ด ๋“ค์–ด์„œ ์‹œ๊ฐ„์ดˆ๊ณผ๊ฐ€ ๋‚œ๋‹ค.๋”ฐ๋ผ์„œ ๋ฑ์„ ์ด์šฉํ•ด ์ •๋ ฌ์˜ ํšจ๊ณผ๋ฅผ ๋‚ด์•ผํ•œ๋‹ค. ๋ฑํ์˜ ์กฐ๊ฑด์€ ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค. ํ˜„์žฌ ๋ฐ”๋ผ๋ณด๊ณ  ์žˆ๋Š” ๊ฐ’์„ ๋ฑํ์— ๋„ฃ์„ ์˜ˆ์ •์ด๋‹ค.(1) ๋งŒ์•ฝ ๋ฑํ์˜ ๊ผฌ๋ฆฌ์˜ ์žˆ๋Š” ๊ฐ’๋ณด๋‹ค ํ˜„์žฌ ๋„ฃ์œผ๋ ค๊ณ  ํ•˜๋Š” ๊ฐ’์ด ์ž‘์œผ๋ฉด ๊ผฌ๋ฆฌ์— ์žˆ๋Š” ๊ฐ’์„ ์ œ๊ฑฐํ•œ๋‹ค.(2) ์–ด์งœํ”ผ ์Šฌ๋ผ์ด๋”ฉ ์œˆ๋„์šฐ ๊ธฐ์ค€ ์ œ์ผ ์˜ค๋ฅธ์ชฝ์— ์žˆ๋Š” ๊ฐ’์ด ๋” ์ž‘๋‹ค๋ฉด ๊ทธ๊ฒƒ๋ณด๋‹ค ์™ผ์ชฝ์— ์žˆ๋Š” ๊ฐ’์ด ํด ๊ฒฝ์šฐ, ์“ธ๋ชจ๊ฐ€ ์—†๋‹ค. ์–ด์งœํ”ผ ์Šฌ๋ฆฌ์ด๋”ฉ ์œˆ๋„์šฐ๊ฐ€ ์ด๋™ํ•˜๋Š” ๋‚ด๋‚ด, ํ˜„์žฌ ์›์†Œ๋ณด๋‹ค ์ƒ๋Œ€์ ์œผ๋กœ ์™ผ..
2024.07.02
์•Œ๊ณ ๋ฆฌ์ฆ˜/๋ฌธ์ œ ํ’€์ด
thumbnail
[๋ฐฑ์ค€] 17298 ์˜คํฐ์ˆ˜ JAVA
1. ๋ฌธ์ œ ์„ค๋ช…๋ฌธ์ œ ๋งํฌ2. ์ ‘๊ทผ ๋ฐฉ์‹0. ์‚ฌ์ „ ์„ธํŒ…Node Class : ๋ฉค๋ฒ„ ๋ณ€์ˆ˜๋กœ index์™€ value๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค. index๋Š” ์ž…๋ ฅ์—์„œ ํ•ด๋‹น ๊ฐ’์ด ๋‚˜์˜จ ์ˆœ์„œ๋ฅผ ์ €์žฅํ•˜๊ณ , value๋Š” ์‹ค์ œ ๊ฐ’์„ ์ €์žฅํ•œ๋‹ค. NGE ๋ฐฐ์—ด : index์— ํ•ด๋‹นํ•˜๋Š” ์ž…๋ ฅ ๊ฐ’์˜ ์˜คํฐ์ˆ˜๊ฐ€ ๋ฌด์—‡์ธ์ง€ ์ €์žฅํ•œ๋‹ค. top : stack์„ ๋ฐฐ์—ด๋กœ ๊ตฌํ˜„ํ•˜์˜€๊ธฐ ๋•Œ๋ฌธ์— top์ด ์–ด๋””์ธ์ง€ ์•Œ๋ ค์ค„ ๋ณ€์ˆ˜๋กœ ์‚ฌ์šฉํ–ˆ๋‹ค. 1. ์›๋ฆฌstack์ด ๋น„์–ด์žˆ์œผ๋ฉด ํ˜„์žฌ ์กฐํšŒ ์ค‘์ธ ์ž…๋ ฅ๊ฐ’์„ ๋„ฃ๋Š”๋‹ค. stack์ด ๋น„์–ด์žˆ์ง€ ์•Š์€ ๊ฒฝ์šฐ stack.top๊ณผ ํ˜„์žฌ ์กฐํšŒ ์ค‘์ธ ์ž…๋ ฅ๊ฐ’(A)๋ฅผ ๋น„๊ตํ•œ๋‹ค.stack.top stack.top์˜ ์˜คํฐ์ˆ˜๋Š” A์ด๋ฏ€๋กœ NGE ๋ฐฐ์—ด์˜ top์˜ index์— A๋ฅผ ์ €์žฅํ•œ๋‹ค.stack.top์˜ ์˜คํฐ์ˆ˜๋Š” ์ •ํ•ด์กŒ์Œ์œผ๋กœ popํ•˜๊ณ , ๊ทธ ๋‹ค์Œ..
2024.07.02
์•Œ๊ณ ๋ฆฌ์ฆ˜/๋ฌธ์ œ ํ’€์ด
thumbnail
[๋ฐฑ์ค€] 11399 ATM
1. ๋ฌธ์ œ ์„ค๋ช…๋ฌธ์ œ ๋งํฌ2. ์ ‘๊ทผ ๋ฐฉ์‹์‚ฝ์ž… ์ •๋ ฌ์„ ์ด์šฉํ•˜์—ฌ ๋ฌธ์ œ๋ฅผ ํ’€์–ด๋ณด์•˜๋‹ค.์ •๋ ฌ๋œ ์˜์—ญ์—์„œ ํ˜„์žฌ ๊ฐ’์„ ์‚ฝ์ž…ํ•  ์œ„์น˜ ์„ ํƒ์„ ์œ„ํ•ด ๋‹จ์ˆœ ๋ฐ˜๋ณต๋ฌธ์„ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ๋ณด๋‹ค ์ด์ง„ ํƒ์ƒ‰์„ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ๊ทธ๋‚˜๋งˆ ์‹œ๊ฐ„์ด ๋น ๋ฅผ ๊ฒƒ ๊ฐ™์•„์„œ, ์ด์ง„ ํƒ์ƒ‰์„ ์ด์šฉํ–ˆ๋‹ค.์ด์ง„ ํƒ์ƒ‰์—์„œ ์ค‘๊ฐ„ ๊ฐ’๋ณด๋‹ค ์ž‘์•˜์„ ์‹œ, ํด ์‹œ start๋‚˜ end์— ๊ทธ๋ƒฅ mid๋ฅผ ๋”ํ•ด์ค˜์„œ ๋ฌดํ•œ Loop์— ๋น ์ง€๋Š” ์‹ค์ˆ˜๋ฅผ ๋ฒ”ํ–ˆ๋‹ค.start = mid +1, end = mid -1๋กœ ํ•ด์ฃผ์–ด์„œ start= 0, mid = 1์ธ ๊ฒฝ์šฐ๋ฅผ ๋Œ€๋น„ํ•ด์ค˜์•ผ ํ•œ๋‹ค. 3. ์ฝ”๋“œ ๋ถ„์„import java.io.*;import java.util.ArrayList;import java.util.StringTokenizer;public class Main { public static vo..
2024.07.02
์•Œ๊ณ ๋ฆฌ์ฆ˜/๋ฌธ์ œ ํ’€์ด
thumbnail
[๋ฐฑ์ค€] 1253 ์ข‹๋‹ค
1. ๋ฌธ์ œ ๋ถ„์„[๋ฌธ์ œ ๋งํฌ](https://www.acmicpc.net/problem/1253)2. ์ ‘๊ทผ ๋ฐฉ์‹๋ฐฐ์—ด์˜ ์–‘ ๋์— ํฌ์ธํ„ฐ๋ฅผ ๋‘”๋‹ค. ํ˜„์žฌ Good์ด ๋˜๋Š” ์ˆ˜์ธ์ง€ ๊ฒ€์‚ฐ ํ•œ๋‹ค. (ํฌ์ธํ„ฐ 2๊ฐœ์˜ ํ•ฉ์ด ํ˜„์žฌ ๊ฒ€์‚ฐ ์ค‘์ธ ์ˆ˜๋ณด๋‹ค ํฌ๋ฉด ์˜ค๋ฅธ์ชฝ ํฌ์ธํ„ฐ๋ฅผ ํ•œ ์นธ ๋‚ด๋ฆฐ๋‹ค.) (ํฌ์ธํ„ฐ 2๊ฐœ์˜ ํ•ฉ์ด ํ˜„์žฌ ๊ฒ€์‚ฐ ์ค‘์ธ ์ˆ˜๋ณด๋‹ค ์ž‘์œผ๋ฉด ์™ผ์ชฝ ํฌ์ธํ„ฐ๋ฅผ ํ•œ ์นธ ์˜ฌ๋ฆฐ๋‹ค.)์ˆซ์ž๋Š” ์Œ์ˆ˜๋„ ๊ฐ€๋Šฅํ•˜๋ฏ€๋กœ, ์ œ์•ฝ์—†์ด ์ „์ฒด์— ๋Œ€ํ•ด์„œ ๊ณ„์‚ฐ ํ•ด์•ผํ•œ๋‹ค. ์ด๋Š” O(n^2)์˜ ์‹œ๊ฐ„ ๋ณต์žก๋„๊ฐ€ ๋“ค์ง€๋งŒ, ๊ณ„์‚ฐํ•ด์•ผํ•  ์ด ๋ฐ์ดํ„ฐ ์ˆ˜๊ฐ€ 2000 ์ด๋ฏ€๋กœ 10^3 ์ด๋ผ ๊ณ„์‚ฐ์ด ๊ดœ์ฐฎ๋‹ค. 3. ์ฝ”๋“œ ๋ถ„์„import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;im..
2024.06.28
์•Œ๊ณ ๋ฆฌ์ฆ˜/๋ฌธ์ œ ํ’€์ด
thumbnail
[๋ฐฑ์ค€] 2018 ์ˆ˜๋“ค์˜ ํ•ฉ 5 Java ํ’€์ด
1. ๋ฌธ์ œ ์„ค๋ช…[๋ฌธ์ œ ๋งํฌ](https://www.acmicpc.net/problem/2018)2. ์ ‘๊ทผ ๋ฐฉ์‹ํˆฌํฌ์ธํ„ฐ ๋ฌธ์ œ ํˆฌ ํฌ์ธํ„ฐ ๊ตฌ๊ฐ„ ์•ˆ์— ํ•ฉ์„ ๋ณ€์ˆ˜ acc์— ์ €์žฅํ•œ๋‹ค.acc acc > N ์ด๋ฉด ์™ผ์ชฝ ํฌ์ธํ„ฐ๋ฅผ ํ•œ ์นธ ์›€์ง์—ฌ์„œ ๊ทธ ๊ฐ’์„ acc์— ๋”ํ•œ๋‹ค. ์ด๋ ‡๊ฒŒ ์˜ค๋ฅธ์ชฝ ํฌ์ธํ„ฐ๊ฐ€ ๊ตฌ๊ฐ„์˜ ๋งจ ๋์— ๋„๋‹ฌํ•  ๋•Œ๊นŒ์ง€ ๋ฐ˜๋ณตํ•˜๋ฉฐ acc == N ์ธ ๊ฒฝ์šฐ๋ฅผ ์„ผ๋‹ค.3. ์ฝ”๋“œ ๋ถ„์„ import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;public class Main { public static void main(String[] args) throws IOException { BufferedRead..
2024.06.28
์•Œ๊ณ ๋ฆฌ์ฆ˜/๋ฌธ์ œ ํ’€์ด
thumbnail
[๋ฐฑ์ค€] 11659 ๊ตฌ๊ฐ„ ํ•ฉ ๊ตฌํ•˜๊ธฐ 4 ์‰ฌ์šด ํ’€์ด ์—ฌ๋Ÿฌ๊ฐ€์ง€ ํ’€์ด java
1. ๋ฌธ์ œ ์„ค๋ช…๋ฌธ์ œ ๋งํฌ2. ์ ‘๊ทผ ๋ฐฉ์‹ํ•ด๋‹น ๋ฌธ์ œ๋Š” ์ฃผ์–ด์ง€๋Š”์ˆ˜์˜ ๊ฐœ์ˆ˜๊ฐ€ 10^5 ๊ฐœ์ด๋‹ค. ์ด๋Š” n^2๋งŒ ํ•ด๋„ 1์–ต ๋ฒˆ์˜ ๊ณ„์‚ฐ์„ ๋„˜์–ด์„œ, ์‹œ๊ฐ„์ดˆ๊ณผ๊ฐ€ ๋‚  ๊ฒƒ์ด๋‹ค. ๋งŒ์•ฝ ๊ฐ’์„ ์ž…๋ ฅ ๋ฐ›์œผ๋ฉด์„œ, ๊ทธ ์ „์— ๋ฐ›์•˜๋˜ ์ž…๋ ฅ๋“ค์„ ์ผ์ผํžˆ ์กฐํšŒํ•˜์—ฌ ๊ตฌ๊ฐ„ํ•ฉ์„ ๊ตฌํ•œ๋‹ค๋ฉด, ์ด๋Š” n^2๋กœ ์‹œ๊ฐ„ ์ดˆ๊ณผ๊ฐ€ ๋‚œ๋‹ค. ๋ˆ„์  ํ•ฉ ๋ฐฐ์—ด์„ ์ด์šฉํ•ด ๊ตฌ๊ฐ„ ํ•ฉ์„ O(1) ์•ˆ์— ๊ตฌํ•œ๋‹ค.sum[] ์ด๋ผ๋Š” ๋ฐฐ์—ด์„ ๋งŒ๋“ ๋‹ค. sum[i]๋Š” sum[0] ~sum[i]๊นŒ์ง€์˜ ํ•ฉ์ด๋‹ค.sum[i] = sum[i-1] + arr[i] (ํ˜„์žฌ๊ฐ’) ์œผ๋กœ ๊ตฌํ•  ์ˆ˜ ์žˆ๋‹ค. i ~ j ๊นŒ์ง€์˜ ๊ตฌ๊ฐ„ํ•ฉ์„ ๊ตฌํ•ด์•ผํ•  ๊ฒฝ์šฐ (i 3. ์ฝ”๋“œ ๋ถ„์„import java.io.BufferedReader;import java.io.IOException;import java.io.InputStream..
2024.06.22
์•Œ๊ณ ๋ฆฌ์ฆ˜/๋ฌธ์ œ ํ’€์ด
thumbnail
[๋ฐฑ์ค€] ๊ตฌ๊ฐ„ ํ•ฉ ๊ตฌํ•˜๊ธฐ 5 ์‰ฌ์šด ํ’€์ด, ์—ฌ๋Ÿฌ๊ฐ€์ง€ ํ’€์ด java
1. ๋ฌธ์ œ ์„ค๋ช…๋ฌธ์ œ ๋งํฌ2. ์ ‘๊ทผ ๋ฐฉ์‹sum[i] [j] = (0,0) ~ (i,j) ๊นŒ์ง€์˜ ํ•ฉ์œผ๋กœ ๋‚˜ํƒ€๋ƒˆ๋‹ค.i = 0 ์ธ ์—ด์€ ์ด์ „ ํ–‰์˜ ์ตœ๋Œ€ ๊ฐ’์„ ์ €์žฅํ•˜๋„๋ก ํ•ด์„œ, ๋ˆ„์ ํ•ฉ์ด ๊ณ„์† ์ด์–ด์ง€๋„๋ก ๋งŒ๋“ค์—ˆ๋‹ค.ํ•˜์ง€๋งŒ ๊ตฌ๊ฐ„ ํ•ฉ (a,b) ~ (c,d)๋ฅผ ๊ตฌํ•˜๋ผ ํ•จ์€, a ๊ทธ๋ž˜์„œ ๋‚˜๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์ด ๊ตฌํ–ˆ๋‹ค.๋‹ค์Œ๊ณผ ๊ฐ™์ด ํ‘ธ๋ฅธ์ƒ‰ ํ˜•๊ด‘ํŽœ์—์„œ ๋ณด๋ผ์ƒ‰ ํ˜•๊ด‘ํŽœ ๊ฐ’์„ ๋นผ์ฃผ๊ณ  ๊ทธ ๊ฒฐ๊ณผ๋“ค์„ ๋” ํ–ˆ๋‹ค.3. ์ฝ”๋“œ ๋ถ„์„import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.util.StringTokenizer;public class Main { public static void main(String[] ar..
2024.06.22
์•Œ๊ณ ๋ฆฌ์ฆ˜/๋ฌธ์ œ ํ’€์ด
thumbnail
๋ฐฑ์ค€ 11720_์ˆซ์ž์˜ํ•ฉ Java ์—ฌ๋Ÿฌ๊ฐ€์ง€ ํ’€์ด!
1. ๋ฌธ์ œ ์„ค๋ช…[๋ฌธ์ œ ๋งํฌ](https://www.acmicpc.net/problem/11720)๋ฌธ์ œN๊ฐœ์˜ ์ˆซ์ž๊ฐ€ ๊ณต๋ฐฑ ์—†์ด ์“ฐ์—ฌ์žˆ๋‹ค. ์ด ์ˆซ์ž๋ฅผ ๋ชจ๋‘ ํ•ฉํ•ด์„œ ์ถœ๋ ฅํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์‹œ์˜ค.์ž…๋ ฅ์ฒซ์งธ ์ค„์— ์ˆซ์ž์˜ ๊ฐœ์ˆ˜ N (1 ≤ N ≤ 100)์ด ์ฃผ์–ด์ง„๋‹ค. ๋‘˜์งธ ์ค„์— ์ˆซ์ž N๊ฐœ๊ฐ€ ๊ณต๋ฐฑ์—†์ด ์ฃผ์–ด์ง„๋‹ค.์ถœ๋ ฅ์ž…๋ ฅ์œผ๋กœ ์ฃผ์–ด์ง„ ์ˆซ์ž N๊ฐœ์˜ ํ•ฉ์„ ์ถœ๋ ฅํ•œ๋‹ค.์˜ˆ์ œ ์ž…๋ ฅ 1 ๋ณต์‚ฌ11์˜ˆ์ œ ์ถœ๋ ฅ 1 ๋ณต์‚ฌ12. ์ ‘๊ทผ ๋ฐฉ์‹์ˆซ์ž๋Š” ๋ชจ๋‘ ํ•œ ์ž๋ฆฟ์ˆ˜ ์ด๋‹ค. ๊ธธ์ด๊ฐ€ 10์ธ ๋ฐฐ์—ด์„ ๋งŒ๋“ค์–ด์„œ index -> ์ˆซ์ž, value -> ์ˆซ์ž์˜ ๊ฐœ์ˆ˜๋ฅผ ์ €์žฅํ•œ๋‹ค.String ๋ฌธ์ž์—ด ํ•œ ์ค„๋กœ ๋“ค์–ด์˜จ ์ˆซ์ž๋“ค์„ ๋ชจ๋‘ ์ฒดํฌํ•œ ์ดํ›„์—, ๊ธธ์ด 10์˜ ๋ฐฐ์—ด์„ ์ˆœํšŒํ•˜๋ฉด์„œ index* value์˜ ์ดํ•ฉ์„ ๊ตฌํ•œ๋‹ค. 3. ์ฝ”๋“œ ๋ถ„์„import java.io.Buffe..
2024.06.22
์•Œ๊ณ ๋ฆฌ์ฆ˜/๋ฌธ์ œ ํ’€์ด
thumbnail
[์ฝ”๋“œ ํŠธ๋ฆฌ] ์ง„๋ฒ• ๋ณ€ํ™˜ 3 java
1. ๋ฌธ์ œ ์„ค๋ช…๋ฌธ์ œ๋งํฌ8์ง„์ˆ˜ -> 2์ง„์ˆ˜2. ์ ‘๊ทผ ๋ฐฉ์‹8์ง„์ˆ˜ → 2์ง„์ˆ˜๋กœ ๋ณ€ํ™˜ํ•˜๋Š” ๋ฐฉ๋ฒ•์€ ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค.โ“ 8์ง„์ˆ˜ ๊ฐ ์ž๋ฆฌ๋ฅผ ๋–ผ์–ด๋‚ธ๋‹ค.โ“‘ ๊ฐ ์ž๋ฆฟ์ˆ˜๋ฅผ 2์ง„์ˆ˜๋กœ ๋ฐ”๊พผ๋‹ค. (ํ•œ์ž๋ฆฌ๋Š” 0~8 ์‚ฌ์ด์˜ ์ˆ˜์ž„์œผ๋กœ 2์ง„์ˆ˜๋กœ ๋ฐ”๊ฟ€ ์‹œ, 2์ง„์ˆ˜๋Š” ๋ฌด์กฐ๊ฑด 3์ž๋ฆฌ ์ดํ•˜์ž„)โ“’ 2์ง„์ˆ˜๋กœ ๋ฐ”๊พผ ์ˆ˜๋ฅผ ์ด์–ด ๋ถ™์ธ๋‹ค. (์ด๋•Œ, ๋ชจ๋“  2์ง„์ˆ˜๋Š” 3์ž๋ฆฌ๋ฅผ ์ฐจ์ง€ํ•ด์•ผํ•œ๋‹ค. ์•„๋‹ˆ๋ฉด ์ „ํ˜€ ์ƒ๊ด€ ์—†๋Š” ์ด์ƒํ•œ ์ˆ˜๊ฐ€ ๋œ๋‹ค.)3. ์ฝ”๋“œ ๋ถ„์„import java.io.*;import java.util.*;public class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStrea..
2024.06.19
์•Œ๊ณ ๋ฆฌ์ฆ˜/๋ฌธ์ œ ํ’€์ด
thumbnail
[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค] 42888. ์˜คํ”ˆ์ฑ„ํŒ…๋ฐฉ JAVA ํ’€์ด ์„ค๋ช…
1. ๋ฌธ์ œ ์„ค๋ช…๋ฌธ์ œ ๋งํฌ์นด์นด์˜คํ†ก ์˜คํ”ˆ์ฑ„ํŒ…๋ฐฉ์—์„œ๋Š” ์นœ๊ตฌ๊ฐ€ ์•„๋‹Œ ์‚ฌ๋žŒ๋“ค๊ณผ ๋Œ€ํ™”๋ฅผ ํ•  ์ˆ˜ ์žˆ๋Š”๋ฐ, ๋ณธ๋ž˜ ๋‹‰๋„ค์ž„์ด ์•„๋‹Œ ๊ฐ€์ƒ์˜ ๋‹‰๋„ค์ž„์„ ์‚ฌ์šฉํ•˜์—ฌ ์ฑ„ํŒ…๋ฐฉ์— ๋“ค์–ด๊ฐˆ ์ˆ˜ ์žˆ๋‹ค.์‹ ์ž…์‚ฌ์›์ธ ๊น€ํฌ๋ฃจ๋Š” ์นด์นด์˜คํ†ก ์˜คํ”ˆ ์ฑ„ํŒ…๋ฐฉ์„ ๊ฐœ์„คํ•œ ์‚ฌ๋žŒ์„ ์œ„ํ•ด, ๋‹ค์–‘ํ•œ ์‚ฌ๋žŒ๋“ค์ด ๋“ค์–ด์˜ค๊ณ , ๋‚˜๊ฐ€๋Š” ๊ฒƒ์„ ์ง€์ผœ๋ณผ ์ˆ˜ ์žˆ๋Š” ๊ด€๋ฆฌ์ž์ฐฝ์„ ๋งŒ๋“ค๊ธฐ๋กœ ํ–ˆ๋‹ค. ์ฑ„ํŒ…๋ฐฉ์— ๋ˆ„๊ตฐ๊ฐ€ ๋“ค์–ด์˜ค๋ฉด ๋‹ค์Œ ๋ฉ”์‹œ์ง€๊ฐ€ ์ถœ๋ ฅ๋œ๋‹ค."[๋‹‰๋„ค์ž„]๋‹˜์ด ๋“ค์–ด์™”์Šต๋‹ˆ๋‹ค."์ฑ„ํŒ…๋ฐฉ์—์„œ ๋ˆ„๊ตฐ๊ฐ€ ๋‚˜๊ฐ€๋ฉด ๋‹ค์Œ ๋ฉ”์‹œ์ง€๊ฐ€ ์ถœ๋ ฅ๋œ๋‹ค."[๋‹‰๋„ค์ž„]๋‹˜์ด ๋‚˜๊ฐ”์Šต๋‹ˆ๋‹ค."์ฑ„ํŒ…๋ฐฉ์—์„œ ๋‹‰๋„ค์ž„์„ ๋ณ€๊ฒฝํ•˜๋Š” ๋ฐฉ๋ฒ•์€ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ๋‘ ๊ฐ€์ง€์ด๋‹ค.์ฑ„ํŒ…๋ฐฉ์„ ๋‚˜๊ฐ„ ํ›„, ์ƒˆ๋กœ์šด ๋‹‰๋„ค์ž„์œผ๋กœ ๋‹ค์‹œ ๋“ค์–ด๊ฐ„๋‹ค.์ฑ„ํŒ…๋ฐฉ์—์„œ ๋‹‰๋„ค์ž„์„ ๋ณ€๊ฒฝํ•œ๋‹ค.๋‹‰๋„ค์ž„์„ ๋ณ€๊ฒฝํ•  ๋•Œ๋Š” ๊ธฐ์กด์— ์ฑ„ํŒ…๋ฐฉ์— ์ถœ๋ ฅ๋˜์–ด ์žˆ๋˜ ๋ฉ”์‹œ์ง€์˜ ๋‹‰๋„ค์ž„๋„ ์ „๋ถ€ ๋ณ€๊ฒฝ๋œ๋‹ค.์˜ˆ๋ฅผ ๋“ค์–ด, ์ฑ„ํŒ…๋ฐฉ์— ..
2024.06.19
์•Œ๊ณ ๋ฆฌ์ฆ˜/๋ฌธ์ œ ํ’€์ด