[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] ๋ฐฑ์ค€ 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
[์ž๋ฃŒ๊ตฌ์กฐ] Hash(ํ•ด์‹œ)

ํ•ด์‹œ๋ž€? - Hash ํ˜น์€ HashTable์€ ํ‚ค๋ฅผ ๊ฐ’์— ๋งคํ•‘ํ•  ์ˆ˜ ์žˆ๋Š” ๊ตฌ์กฐ์ธ, ๋‚ด๋ถ€์ ์œผ๋กœ ๋ฐฐ์—ด์„ ์‚ฌ์šฉํ•˜๋Š” ์ž๋ฃŒ๊ตฌ์กฐ์ž…๋‹ˆ๋‹ค. - ์ž„์˜์˜ ํฌ๊ธฐ๋ฅผ ๊ฐ€์ง„ ๋ฐ์ดํ„ฐ(Key)๋ฅผ ๊ณ ์ •๋œ ํฌ๊ธฐ์˜ ๋ฐ์ดํ„ฐ(Value)๋กœ ๋ณ€ํ™˜์‹œ์ผœ ์ €์žฅ - ํ‚ค์— ๋Œ€ํ•œ ํ•ด์‹œ๊ฐ’์„ ์‚ฌ์šฉํ•˜์—ฌ ๊ฐ’์„ ์ €์žฅํ•˜๊ณ  ํ‚ค-๊ฐ’ ์Œ์˜ ๊ฐฏ์ˆ˜์— ๋”ฐ๋ผ ๋™์ ์œผ๋กœ ํฌ๊ธฐ๊ฐ€ ์ฆ๊ฐ€ํ•˜๋Š” associate array - ํ‚ค์— ๋Œ€ํ•œ ํ•ด์‹œ๊ฐ’์„ ๊ตฌํ•˜๋Š” ๊ณผ์ •์„ hashing(ํ•ด์‹ฑ)์ด๋ผ ํ•˜๊ณ , ์ด๋•Œ ์‚ฌ์šฉํ•˜๋Š” ํ•จ์ˆ˜๋ฅผ ํ•ด์‹œํ•จ์ˆ˜ - ํ•ด์‹œ๊ฐ’ ์ž์ฒด๋ฅผ index๋กœ ์‚ฌ์šฉํ•˜๊ธฐ ๋•Œ๋ฌธ์— ํ‰๊ท  ๋ณต์žก๋„๊ฐ€ O(1)๋กœ ๋งค์šฐ ๋น ๋ฅด๋‹ค - ๋ณด์•ˆ์—์„œ ๊ฐ€์žฅ ๋งŽ์ด ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. ํ•ด์‹œ ํ•จ์ˆ˜๋ž€? - ๋ฐ์ดํ„ฐ๋ฅผ ํšจ์œจ์ ์œผ๋กœ ๊ด€๋ฆฌํ•˜๊ธฐ ์œ„ํ•ด, ์ž„์˜์˜ ๊ธธ์ด์˜ ๋ฐ์ดํ„ฐ๋ฅผ ์ˆ˜ํ•™์  ์—ฐ์‚ฐ์„ ํ†ตํ•ด ๊ณ ์ •๋œ ๊ธธ์ด์˜ ํ…Œ์ดํ„ฐ๋กœ ๋งคํ•‘ํ•˜๋Š” ํ•จ์ˆ˜๋กœ, ํ•ด์‹œ ํ•จ์ˆ˜์— ..

CS/Data Structure 2022. 6. 13. 20:27