[Java] ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค - ์บ์‹œ

[๋ฌธ์ œ] https://school.programmers.co.kr/learn/courses/30/lessons/17680?language=java ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ์ฝ”๋“œ ์ค‘์‹ฌ์˜ ๊ฐœ๋ฐœ์ž ์ฑ„์šฉ. ์Šคํƒ ๊ธฐ๋ฐ˜์˜ ํฌ์ง€์…˜ ๋งค์นญ. ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค์˜ ๊ฐœ๋ฐœ์ž ๋งž์ถคํ˜• ํ”„๋กœํ•„์„ ๋“ฑ๋กํ•˜๊ณ , ๋‚˜์™€ ๊ธฐ์ˆ  ๊ถํ•ฉ์ด ์ž˜ ๋งž๋Š” ๊ธฐ์—…๋“ค์„ ๋งค์นญ ๋ฐ›์œผ์„ธ์š”. programmers.co.kr [ํ’€์ด] ์šฐ์„  ๋ฌธ์ œ๋ฅผ ํ’€๊ธฐ ์œ„ํ•ด์„œ LRU ๊ต์ฒด ์•Œ๊ณ ๋ฆฌ์ฆ˜์— ๋Œ€ํ•ด์„œ ์•Œ์•„์•ผ ํ–ˆ์Šต๋‹ˆ๋‹ค. LRU๋Š” Least Recently Used์˜ ์•ฝ์ž๋กœ, ์ฆ‰ ๊ฐ€์žฅ ์˜ค๋žซ๋™์•ˆ ์ฐธ์กฐ๋˜์ง€ ์•Š์€ ์บ์‹œ๋ฅผ ๊ต์ฒดํ•˜๋Š” ๋ฐฉ์‹์ž…๋‹ˆ๋‹ค. ๋งŒ์•ฝ ์บ์‹œ์˜ ์—ฌ์œ  ์ €์žฅ๊ณต๊ฐ„์ด ์—†๊ณ , ์บ์‹œ์— ํ•ด๋‹น ๊ฐ’์ด ์—†๋‹ค๋ฉด ๊ฐ€์žฅ ์˜ค๋žซ๋™์•ˆ ์‚ฌ์šฉ๋˜์ง€ ์•Š์•˜๋˜ ์บ์‹œ๋ฅผ ๊ต์ฒดํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ์บ์‹œ๊ฐ€ ์ฐธ์กฐ๋œ ์‹œ๊ฐ„๋ณ„๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ๊ด€๋ฆฌํ•˜๊ณ  ..

Algorithm/Programmers 2022. 7. 7. 21:04
[Java] ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค - ๋™๊ตด ํƒํ—˜

[๋ฌธ์ œ] https://school.programmers.co.kr/learn/courses/30/lessons/67260 ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ์ฝ”๋“œ ์ค‘์‹ฌ์˜ ๊ฐœ๋ฐœ์ž ์ฑ„์šฉ. ์Šคํƒ ๊ธฐ๋ฐ˜์˜ ํฌ์ง€์…˜ ๋งค์นญ. ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค์˜ ๊ฐœ๋ฐœ์ž ๋งž์ถคํ˜• ํ”„๋กœํ•„์„ ๋“ฑ๋กํ•˜๊ณ , ๋‚˜์™€ ๊ธฐ์ˆ  ๊ถํ•ฉ์ด ์ž˜ ๋งž๋Š” ๊ธฐ์—…๋“ค์„ ๋งค์นญ ๋ฐ›์œผ์„ธ์š”. programmers.co.kr [ํ’€์ด] ํ’€์ด์˜ ํ•ต์‹ฌ์€, ํ•œ๋ฒˆ ์ง€๋‚˜์˜จ ๋…ธ๋“œ๋ผ๋ฉด ์ดํ›„ ์„ ์ˆ˜๋กœ ๋‚˜์™€์•ผํ•˜๋Š” ์ˆซ์ž๋ฅผ ํ†ตํ•ด ์ž ๊น€ ํ•ด์ œ๊ฐ€ ๋œ๋‹ค๋ฉด ๋ฐฉ๋ฌธํ•  ์ˆ˜ ์žˆ๊ฒŒ๋ฉ๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ bfs()๋ฅผ ํ†ตํ•ด ๊ทธ๋ž˜ํ”„๋ฅผ ํƒ์ƒ‰ํ•˜๋ฉฐ, visit[][]๋ฅผ ํ†ตํ•ด ์ง€๋‚˜์˜จ ๋…ธ๋“œ๋“ค์˜ ๋ฐฉ๋ฌธ์„ ์ฒดํฌํ•ฉ๋‹ˆ๋‹ค. ๋งŒ์•ฝ, ์„ ์ˆ˜์กฐ๊ฑด์ด ์—†๊ฑฐ๋‚˜ ์„ ์ˆ˜์กฐ๊ฑด์„ ํ†ตํ•ด ์ž ๊ธˆ์ด ํ•ด์ œ๋˜์—ˆ๋‹ค๋ฉด ํ•ด๋‹น ๋…ธ๋“œ๋ฅผ ํ์— ๋„ฃ์œผ๋ฉฐ ๊ฐ€๋Šฅํ•œ ๋…ธ๋“œ๋“ค์„ ๋ชจ๋‘ ๋ฐฉ๋ฌธํ•ฉ๋‹ˆ๋‹ค. ์ด๋•Œ, ํ์— ๋“ค์–ด๊ฐ”๋˜ ๋…ธ๋“œ๋“ค์€ Array..

Algorithm/Programmers 2022. 7. 7. 20:50
[Java] ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค - ๋ณด์„ ์‡ผํ•‘

[๋ฌธ์ œ] https://programmers.co.kr/learn/courses/30/lessons/67258 ์ฝ”๋”ฉํ…Œ์ŠคํŠธ ์—ฐ์Šต - ๋ณด์„ ์‡ผํ•‘ ["DIA", "RUBY", "RUBY", "DIA", "DIA", "EMERALD", "SAPPHIRE", "DIA"] [3, 7] programmers.co.kr [ํ’€์ด] ํˆฌํฌ์ธํ„ฐ ๋ฐฉ์‹์œผ๋กœ ๋ฐฐ์—ด์„ ํƒ์ƒ‰ํ•˜๋Š” ๋ฐฉ๋ฒ•์ด ํ•ต์‹ฌ์ธ ๋ฌธ์ œ์˜€์Šต๋‹ˆ๋‹ค. ์šฐ์„ , ์ดˆ๊ธฐ์— ํ•„์š”ํ•œ ์ž๋ฃŒ๋ฅผ ์„ธํŒ…ํ•˜์˜€์Šต๋‹ˆ๋‹ค. Set set์œผ๋กœ ๋ณด์„์˜ ๊ฐœ์ˆ˜๋ฅผ ์ €์žฅํ•˜์˜€์Šต๋‹ˆ๋‹ค. gems๋ฅผ ํƒ์ƒ‰ํ•˜์—ฌ Map pick์— ๊ฐ ๋ณด์„์˜ ๊ฐœ์ˆ˜๋ฅผ ์ €์žฅํ•˜๋ฉฐ ๋งจ์•ž์—์„œ ๊ตฌํ•  ์ˆ˜ ์žˆ๋Š” ๋ณด์„์„ธํŠธ๋ฅผ ์ €์žฅํ•ด์„œ ์ดˆ๊ธฐ start์™€ end๋ฅผ ์ €์žฅํ•˜์˜€์Šต๋‹ˆ๋‹ค. ๊ทธ๋‹ค์Œ, ํˆฌํฌ์ธํ„ฐ ๋ฐฉ์‹์œผ๋กœ left๋ฅผ right๋ฅผ ๊ฐฑ์‹ ํ•˜๋ฉฐ gems๋ฐฐ์—ด์˜ ๋๊นŒ์ง€ ์ƒˆ๋กœ์šด ๋ณด..

Algorithm/Programmers 2022. 7. 3. 19:32
[Java] ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค - ์ˆ˜์‹ ์ตœ๋Œ€ํ™”

[๋ฌธ์ œ] https://programmers.co.kr/learn/courses/30/lessons/67257 ์ฝ”๋”ฉํ…Œ์ŠคํŠธ ์—ฐ์Šต - ์ˆ˜์‹ ์ตœ๋Œ€ํ™” IT ๋ฒค์ฒ˜ ํšŒ์‚ฌ๋ฅผ ์šด์˜ํ•˜๊ณ  ์žˆ๋Š” ๋ผ์ด์–ธ์€ ๋งค๋…„ ์‚ฌ๋‚ด ํ•ด์ปคํ†ค ๋Œ€ํšŒ๋ฅผ ๊ฐœ์ตœํ•˜์—ฌ ์šฐ์Šน์ž์—๊ฒŒ ์ƒ๊ธˆ์„ ์ง€๊ธ‰ํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋ฒˆ ๋Œ€ํšŒ์—์„œ๋Š” ์šฐ์Šน์ž์—๊ฒŒ ์ง€๊ธ‰๋˜๋Š” ์ƒ๊ธˆ์„ ์ด์ „ ๋Œ€ํšŒ์™€๋Š” ๋‹ค๋ฅด๊ฒŒ ๋‹ค์Œ๊ณผ programmers.co.kr [ํ’€์ด] ์กฐํ•ฉ๊ณผ ๋ฐฑํŠธ๋ž˜ํ‚น์„ ์ด์šฉํ•˜์—ฌ ํ’€์ดํ•˜์˜€์Šต๋‹ˆ๋‹ค. ์šฐ์„  ํ•„์š”ํ•œ ์ž๋ฃŒ๋“ค์„ ์„ธํŒ…ํ•ฉ๋‹ˆ๋‹ค. ArrayList exp๋กœ ์ค‘๋ณต์„ ์ œ๊ฑฐํ•˜๋ฉฐ ์—ฐ์‚ฐ์ž๋ฅผ ๋„ฃ์–ด์ฃผ์—ˆ์Šต๋‹ˆ๋‹ค. (Set ์ž๋ฃŒํ˜•์„ ์ด์šฉํ•˜๋ฉด ํŽธ๋ฆฌํ•˜์ง€๋งŒ, ํ’€์ด ๋‹น์‹œ์—๋Š” ์ƒ๊ฐ์„ ๋ชปํ–ˆ์Šต๋‹ˆ๋‹ค.ใ…Žใ…Ž) expression.charAt(i) < 48๋ฅผ ํ†ตํ•ด ์—ฐ์‚ฐ์ž๋ฅผ ๊ตฌ๋ถ„ํ•˜์˜€์Šต๋‹ˆ๋‹ค. ( ์•„์Šคํ‚ค ์ฝ”๋“œ ์ด์šฉ ) ์—ฐ์‚ฐ์ž๋“ค์€ num..

Algorithm/Programmers 2022. 7. 3. 19:24
[Java] ๋ฐฑ์ค€ 2110๋ฒˆ - ๊ณต์œ ๊ธฐ ์„ค์น˜

https://www.acmicpc.net/problem/2110 2110๋ฒˆ: ๊ณต์œ ๊ธฐ ์„ค์น˜ ์ฒซ์งธ ์ค„์— ์ง‘์˜ ๊ฐœ์ˆ˜ N (2 ≤ N ≤ 200,000)๊ณผ ๊ณต์œ ๊ธฐ์˜ ๊ฐœ์ˆ˜ C (2 ≤ C ≤ N)์ด ํ•˜๋‚˜ ์ด์ƒ์˜ ๋นˆ ์นธ์„ ์‚ฌ์ด์— ๋‘๊ณ  ์ฃผ์–ด์ง„๋‹ค. ๋‘˜์งธ ์ค„๋ถ€ํ„ฐ N๊ฐœ์˜ ์ค„์—๋Š” ์ง‘์˜ ์ขŒํ‘œ๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š” xi (0 ≤ xi ≤ 1,000,000,000)๊ฐ€ www.acmicpc.net [๋ฌธ์ œ] [ํ’€์ด] 0๋ฒˆ์งธ์ง‘ ~ N-1๋ฒˆ์งธ ์ง‘๊นŒ์ง€ ์ด๋ถ„ํƒ์ƒ‰์„ ํ†ตํ•ด interval ๊ฐ’์„ ์ด์šฉํ•ด ๊ณต์œ ๊ธฐ๋ฅผ ์„ค์น˜ํ•  ์ˆ˜ ์žˆ๋Š”์ง€ ํ™•์ธํ•˜๋ฉฐ interval๊ฐ’์„ ๊ฐฑ์‹ ํ•ฉ๋‹ˆ๋‹ค. ๋งŒ์•ฝ ์ง‘์˜ ๋ฒˆํ˜ธ๋“ค์ด 1 2 8 4 9 ์ด๊ณ  ๊ณต์œ ๊ธฐ๋Š” 3๊ฐœ๋ฉด, ์ตœ๋Œ€๊ฐ’์€ (9-1) / 2 = 4์ž…๋‹ˆ๋‹ค. ๋งŒ์•ฝ 1~9๊ฐ€ ๋ชจ๋‘ ์ฑ„์›Œ์ ธ ์žˆ๋‹ค๊ณ  ์ƒ๊ฐํ•˜๋ฉด 1 5 9๋ฅผ ์„ ํƒํ•  ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค. ..

Algorithm/Baekjoon 2022. 6. 28. 22:29
[Java] ๋ฐฑ์ค€ 7453๋ฒˆ - ํ•ฉ์ด 0์ธ ๋„ค ์ •์ˆ˜

https://www.acmicpc.net/problem/7453 7453๋ฒˆ: ํ•ฉ์ด 0์ธ ๋„ค ์ •์ˆ˜ ์ฒซ์งธ ์ค„์— ๋ฐฐ์—ด์˜ ํฌ๊ธฐ n (1 ≤ n ≤ 4000)์ด ์ฃผ์–ด์ง„๋‹ค. ๋‹ค์Œ n๊ฐœ ์ค„์—๋Š” A, B, C, D์— ํฌํ•จ๋˜๋Š” ์ •์ˆ˜๊ฐ€ ๊ณต๋ฐฑ์œผ๋กœ ๊ตฌ๋ถ„๋˜์–ด์ ธ์„œ ์ฃผ์–ด์ง„๋‹ค. ๋ฐฐ์—ด์— ๋“ค์–ด์žˆ๋Š” ์ •์ˆ˜์˜ ์ ˆ๋Œ“๊ฐ’์€ ์ตœ๋Œ€ 228์ด๋‹ค. www.acmicpc.net [๋ฌธ์ œ] [ํ’€์ด] 4๊ฐœ ์กฐํ•ฉ์„ ์ƒ์„ฑํ•˜์—ฌ ๊ณ„์‚ฐ์„ ํ•˜๋Š” ๋ฐฉ๋ฒ•์€ ์‹œ๊ฐ„์ดˆ๊ณผ๊ฐ€ ๋‚˜์™€์„œ ๊ณ ๋ฏผํ•˜๋‹ค๊ฐ€ ์•„๋ž˜์˜ ๋ธ”๋กœ๊ทธ๋ฅผ ์ฐธ๊ณ ํ•˜์—ฌ ํ’€์ดํ•˜์˜€์Šต๋‹ˆ๋‹ค. https://skdltm117.tistory.com/49 [๋ฐฑ์ค€] 7453๋ฒˆ - ํ•ฉ์ด 0์ธ ๋„ค ์ •์ˆ˜ (java) Baekjoon 7453 - ํ•ฉ์ด 0์ธ ๋„ค ์ •์ˆ˜ (ํด๋ฆญ ์‹œ ์ด๋™) ๋ฌธ์ œ ์ •์ˆ˜๋กœ ์ด๋ฃจ์–ด์ง„ ํฌ๊ธฐ๊ฐ€ ๊ฐ™์€ ๋ฐฐ์—ด A, B, C, D๊ฐ€ ์žˆ๋‹ค. A[..

Algorithm/Baekjoon 2022. 6. 28. 22:11