๋ชฉ๋กJava (22)

๐Ÿ“ ์ ์–ด์„œ ๋จธ๋ฆฟ์†์œผ๋กœ

[Java] ๊ธˆ์œต๊ถŒ ๊ฐœ๋ฐœ์ž๊ฐ€ 'StringBuffer'๋ฅผ ๋ฐ”๋ผ๋ณด๋Š” ์‹œ์„ : ๊ด€์„ฑ์„ ๋„˜์–ด ์˜๋„๊ฐ€ ๋‹ด๊ธด ์ฝ”๋“œ๋กœ

๊ธˆ์œต๊ถŒ์—์„œ IT ๊ฐœ๋ฐœ์ž๋กœ ์ผํ•˜๋ฉด์„œ ํ˜„์žฅ์—์„œ '๋ ˆ๊ฑฐ์‹œ(Legacy)'๋ผ๊ณ  ๋ถˆ๋ฆฌ๋Š” ์˜ค๋ž˜๋œ ์ฝ”๋“œ๋ฅผ ์ž์ฃผ ๋งˆ์ฃผํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.์ €๋Š” ์ด๋Ÿฐ ์ฝ”๋“œ๋ฅผ ๋‹จ์ˆœํžˆ ๋ ˆ๊ฑฐ์‹œ('์˜ค๋ž˜๋œ ์ฝ”๋“œ'๋‚˜ '๊ธฐ์ˆ  ๋ถ€์ฑ„')๋ผ๊ณ  ๋งํ•˜๊ณ  ์‹ถ์ง€๋Š” ์•Š์Šต๋‹ˆ๋‹ค. ์ด ์ฝ”๋“œ๋“ค์€ ์‹ญ์ˆ˜ ๋…„๊ฐ„ ์ˆ˜์ฒœ๋งŒ ๊ฑด์˜ ๊ฑฐ๋ž˜๋ฅผ ๋ฒ„ํ…จ๋‚ธ '์‚ด์•„๋‚จ์€ ์ฝ”๋“œ'์ด์ž, ๋‹น์‹œ์˜ ์น˜์—ดํ•œ ๊ณ ๋ฏผ์ด ๋‹ด๊ธด '์„ ๋ฐฐ๋“ค์˜ ์œ ์‚ฐ'์ž…๋‹ˆ๋‹ค.๊ธˆ์œต๊ถŒ์˜ ํŠน์„ฑ์ƒ 'ํ˜์‹ ์ ์ธ ์„ฑ๋Šฅ'๋ณด๋‹ค '๋‹จ ํ•˜๋‚˜์˜ ์˜ค๋ฅ˜๋„ ์—†๋Š” ์•ˆ์ „'์ด 1์ˆœ์œ„์˜€์„ ํ…Œ๋‹ˆ๊นŒ์š”. ํ•˜์ง€๋งŒ ์ตœ๊ทผ ์‹ ๊ทœ ํ”„๋กœ์ ํŠธ๋‚˜ ๊ณตํ†ต ๋ชจ๋“ˆ ๊ฐœ๋ฐœ ๊ณผ์ •์—์„œ๋„ ๋ฌด์˜์‹์ ์œผ๋กœ StringBuffer๊ฐ€ ์‚ฌ์šฉ๋˜๋Š” ๋ชจ์Šต์„ ๋ณด๋ฉฐ, ๊ฐœ๋ฐœ์ž๋กœ์„œ ์ž‘์€ ๋ฌผ์Œํ‘œ๋ฅผ ๋˜์ง€๊ฒŒ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. "์šฐ๋ฆฌ๋Š” ์ง€๊ธˆ ์•ˆ์ „์„ ์œ„ํ•ด StringBuffer๋ฅผ ์“ฐ๋Š” ๊ฑธ๊นŒ, ์•„๋‹ˆ๋ฉด ๊ด€์Šต์ ์œผ๋กœ ์“ฐ๊ณ  ์žˆ๋Š” ๊ฑธ๊นŒ?"1. 10๋…„ ์ „์˜ ์ •๋‹ต์ด ..

Programming/Java, Kotlin 2026. 1. 26. 21:45
[ํ•˜์ฝ”ํ…Œ] Day7. ์•ฝ๊ฐ„๊ณ ๋น„ (ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค "์ฃผ์‹๊ฐ€๊ฒฉ" ํ’€์ด)

ํ•˜์ฝ”ํ…Œ(ํ•˜๋ฃจ ์ฝ”๋”ฉ ํ…Œ์ŠคํŠธ) 2์ฃผ์ฐจ์˜ ๋‘๋ฒˆ์งธ ๋ฌธ์ œ ์ž…๋‹ˆ๋‹ค.์ด๋ฒˆ์ฃผ๋Š” ํšŒ์‚ฌ ์ผ์ •์œผ๋กœ ๋ฌธ์ œํ’€์ด ๋ฐ ๋ธ”๋กœ๊ทธ ๊ธ€ ์ž‘์„ฑ์ด ๋ฒ„๊ฑฐ์›€์ด ์žˆ์—ˆ์–ด์„œ ๋ธ”๋กœ๊ทธ ๊ธ€์„ ๋ชฐ์•„์“ฐ๊ฒŒ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.๊ทธ๋ž˜๋„ ๋งค์ผ ํ•œ ๋ฌธ์ œ์”ฉ ํ’€์ž๊ณ  ๋ชฉํ‘œ๋ฅผ๋‘๋‹ˆ ์ž‘์„ฑ์„ ํฌ๊ธฐํ•˜์ง€๋Š” ์•Š๊ฒŒ๋˜์–ด์„œ ๋„์›€์ด๋˜๋„ค์š”.๋ฌธ์ œ ์„ค๋ช…์ดˆ ๋‹จ์œ„๋กœ ๊ธฐ๋ก๋œ ์ฃผ์‹๊ฐ€๊ฒฉ์ด ๋‹ด๊ธด ๋ฐฐ์—ด prices๊ฐ€ ๋งค๊ฐœ๋ณ€์ˆ˜๋กœ ์ฃผ์–ด์งˆ ๋•Œ, ๊ฐ€๊ฒฉ์ด ๋–จ์–ด์ง€์ง€ ์•Š์€ ๊ธฐ๊ฐ„์€ ๋ช‡ ์ดˆ์ธ์ง€๋ฅผ return ํ•˜๋„๋ก solution ํ•จ์ˆ˜๋ฅผ ์™„์„ฑํ•˜์„ธ์š”. ์ œํ•œ์‚ฌํ•ญprices์˜ ๊ฐ ๊ฐ€๊ฒฉ์€ 1 ์ด์ƒ 10,000 ์ดํ•˜์ธ ์ž์—ฐ์ˆ˜์ž…๋‹ˆ๋‹ค.prices์˜ ๊ธธ์ด๋Š” 2 ์ด์ƒ 100,000 ์ดํ•˜์ž…๋‹ˆ๋‹ค. ์ž…์ถœ๋ ฅ ์˜ˆprices return[1, 2, 3, 2, 3] [4, 3, 1, 1, 0]์ž…์ถœ๋ ฅ ์˜ˆ ์„ค๋ช…1์ดˆ ์‹œ์ ์˜ โ‚ฉ1์€ ๋๊นŒ์ง€ ๊ฐ€๊ฒฉ์ด ๋–จ์–ด์ง€์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค.2..

Programming/Algorithm 2025. 9. 21. 13:30
[ํ•˜์ฝ”ํ…Œ] Day5. ์ผ์ฃผ์ผ ํ’€์ด ์™„๋ฃŒ (ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค "์™„์ฃผํ•˜์ง€ ๋ชปํ•œ ์„ ์ˆ˜")

๋งค์ผ ์ฝ”๋”ฉํ…Œ์ŠคํŠธ 5์ผ์ฐจ ๋ฌธ์ œ๊นŒ์ง€ ์™„๋ฃŒํ–ˆ์Šต๋‹ˆ๋‹ค. ์กฐ๊ธˆ์”ฉ ๋งค์ผ ๋ฌธ์ œ๋ฅผ ํ‘ธ๋Š”๋ฐ์— ์ต์ˆ™ํ•ด์ง€๋Š” ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.๋ฌธ์ œ์ˆ˜๋งŽ์€ ๋งˆ๋ผํ†ค ์„ ์ˆ˜๋“ค์ด ๋งˆ๋ผํ†ค์— ์ฐธ์—ฌํ•˜์˜€์Šต๋‹ˆ๋‹ค. ๋‹จ ํ•œ ๋ช…์˜ ์„ ์ˆ˜๋ฅผ ์ œ์™ธํ•˜๊ณ ๋Š” ๋ชจ๋“  ์„ ์ˆ˜๊ฐ€ ๋งˆ๋ผํ†ค์„ ์™„์ฃผํ•˜์˜€์Šต๋‹ˆ๋‹ค.๋งˆ๋ผํ†ค์— ์ฐธ์—ฌํ•œ ์„ ์ˆ˜๋“ค์˜ ์ด๋ฆ„์ด ๋‹ด๊ธด ๋ฐฐ์—ด participant์™€ ์™„์ฃผํ•œ ์„ ์ˆ˜๋“ค์˜ ์ด๋ฆ„์ด ๋‹ด๊ธด ๋ฐฐ์—ด completion์ด ์ฃผ์–ด์งˆ ๋•Œ, ์™„์ฃผํ•˜์ง€ ๋ชปํ•œ ์„ ์ˆ˜์˜ ์ด๋ฆ„์„ return ํ•˜๋„๋ก solution ํ•จ์ˆ˜๋ฅผ ์ž‘์„ฑํ•ด์ฃผ์„ธ์š”. ์ œํ•œ์‚ฌํ•ญ๋งˆ๋ผํ†ค ๊ฒฝ๊ธฐ์— ์ฐธ์—ฌํ•œ ์„ ์ˆ˜์˜ ์ˆ˜๋Š” 1๋ช… ์ด์ƒ 100,000๋ช… ์ดํ•˜์ž…๋‹ˆ๋‹ค.completion์˜ ๊ธธ์ด๋Š” participant์˜ ๊ธธ์ด๋ณด๋‹ค 1 ์ž‘์Šต๋‹ˆ๋‹ค.์ฐธ๊ฐ€์ž์˜ ์ด๋ฆ„์€ 1๊ฐœ ์ด์ƒ 20๊ฐœ ์ดํ•˜์˜ ์•ŒํŒŒ๋ฒณ ์†Œ๋ฌธ์ž๋กœ ์ด๋ฃจ์–ด์ ธ ์žˆ์Šต๋‹ˆ๋‹ค.์ฐธ๊ฐ€์ž ์ค‘์—๋Š” ๋™๋ช…์ด์ธ์ด ์žˆ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ž…์ถœ..

Programming/Algorithm 2025. 9. 13. 21:58
[ํ•˜์ฝ”ํ…Œ] Day3. ์ž‘์‹ฌ์‚ผ์ผ ๋‹ฌ์„ฑ (ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค "ํฐ์ผ“๋ชฌ" ํ’€์ด)

ํ•˜์ฝ”ํ…Œ 3์ผ์ฐจ ํ’€์ด๋ฅผ ๋๋ƒˆ์Šต๋‹ˆ๋‹ค.์ผ๋‹จ์€ ์ž‘์‹ฌ์‚ผ์ผ์€ ๋ฌด์‚ฌํžˆ ๋‹ฌ์„ฑํ–ˆ๊ณ  4์ผ์ฐจ๊นŒ์ง€๋Š” ๊ผญ ์ง„ํ–‰ํ•ด์„œ ์ž‘์‹ฌ์‚ผ์ผ์„ ๊ทน๋ณตํ•ด์•ผํ•  ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.5์ผ์ฐจ๋Š” ๊ธˆ์š”์ผ์ด๋‹ˆ๋งŒํผ ๋‹ฌ์„ฑํ•  ์ˆ˜ ์žˆ์„์ง€... ๋ฌธ์ œ ์„ค๋ช…๋‹น์‹ ์€ ํฐ์ผ“๋ชฌ์„ ์žก๊ธฐ ์œ„ํ•œ ์˜ค๋žœ ์—ฌํ–‰ ๋์—, ํ™ ๋ฐ•์‚ฌ๋‹˜์˜ ์—ฐ๊ตฌ์‹ค์— ๋„์ฐฉํ–ˆ์Šต๋‹ˆ๋‹ค. ํ™ ๋ฐ•์‚ฌ๋‹˜์€ ๋‹น์‹ ์—๊ฒŒ ์ž์‹ ์˜ ์—ฐ๊ตฌ์‹ค์— ์žˆ๋Š” ์ด N ๋งˆ๋ฆฌ์˜ ํฐ์ผ“๋ชฌ ์ค‘์—์„œ N/2๋งˆ๋ฆฌ๋ฅผ ๊ฐ€์ ธ๊ฐ€๋„ ์ข‹๋‹ค๊ณ  ํ–ˆ์Šต๋‹ˆ๋‹ค.ํ™ ๋ฐ•์‚ฌ๋‹˜ ์—ฐ๊ตฌ์‹ค์˜ ํฐ์ผ“๋ชฌ์€ ์ข…๋ฅ˜์— ๋”ฐ๋ผ ๋ฒˆํ˜ธ๋ฅผ ๋ถ™์—ฌ ๊ตฌ๋ถ„ํ•ฉ๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ๊ฐ™์€ ์ข…๋ฅ˜์˜ ํฐ์ผ“๋ชฌ์€ ๊ฐ™์€ ๋ฒˆํ˜ธ๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด ์—ฐ๊ตฌ์‹ค์— ์ด 4๋งˆ๋ฆฌ์˜ ํฐ์ผ“๋ชฌ์ด ์žˆ๊ณ , ๊ฐ ํฐ์ผ“๋ชฌ์˜ ์ข…๋ฅ˜ ๋ฒˆํ˜ธ๊ฐ€ [3๋ฒˆ, 1๋ฒˆ, 2๋ฒˆ, 3๋ฒˆ]์ด๋ผ๋ฉด ์ด๋Š” 3๋ฒˆ ํฐ์ผ“๋ชฌ ๋‘ ๋งˆ๋ฆฌ, 1๋ฒˆ ํฐ์ผ“๋ชฌ ํ•œ ๋งˆ๋ฆฌ, 2๋ฒˆ ํฐ์ผ“๋ชฌ ํ•œ ๋งˆ๋ฆฌ๊ฐ€ ์žˆ์Œ์„ ๋‚˜ํƒ€๋ƒ…๋‹ˆ๋‹ค. ์ด๋•Œ, 4๋งˆ๋ฆฌ..

Programming/Algorithm 2025. 9. 10. 23:12
[ํ•˜์ฝ”ํ…Œ] Day2. ์–ด์ฉŒ๋‹ค ๋ณต์Šต (ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค "์˜์ƒ" ํ’€์ด)

ํ•˜์ฝ”ํ…Œ ์ดํ‹€์ฐจ ๋ฌธ์ œ๋Š” ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค์˜ "์˜์ƒ" ์„ ๋ฐ›์•˜์Šต๋‹ˆ๋‹ค. ์ด์ „์— ํ’€์–ด๋ณธ ๋ฌธ์ œ๊ฐ€ ๊ธฐ์กด ํ’€์ด๊ฐ€ ๋‚จ์•„์žˆ์—ˆ๊ณ  ๋‹คํ–‰ํžˆ? ์•„์ง ์ •๋‹ต์œผ๋กœ ์ธ์ •์ด ๋˜๊ณ  ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค.์ƒˆ๋กœ ๋ฌธ์ œ๋ฅผ ํ’€๊ธฐ๋ณด๋‹ค๋Š” ์ด๋Ÿฐ ๊ฒฝ์šฐ๋Š” ๋ณต์Šต์˜ ๊ธฐํšŒ๋กœ ์‚ผ๋Š”๊ฒƒ๋„ ์ข‹์„ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.๋ฌธ์ œ ์„ค๋ช…์ฝ”๋‹ˆ๋Š” ๋งค์ผ ๋‹ค๋ฅธ ์˜ท์„ ์กฐํ•ฉํ•˜์—ฌ ์ž…๋Š”๊ฒƒ์„ ์ข‹์•„ํ•ฉ๋‹ˆ๋‹ค.์˜ˆ๋ฅผ ๋“ค์–ด ์ฝ”๋‹ˆ๊ฐ€ ๊ฐ€์ง„ ์˜ท์ด ์•„๋ž˜์™€ ๊ฐ™๊ณ , ์˜ค๋Š˜ ์ฝ”๋‹ˆ๊ฐ€ ๋™๊ทธ๋ž€ ์•ˆ๊ฒฝ, ๊ธด ์ฝ”ํŠธ, ํŒŒ๋ž€์ƒ‰ ํ‹ฐ์…”์ธ ๋ฅผ ์ž…์—ˆ๋‹ค๋ฉด ๋‹ค์Œ๋‚ ์€ ์ฒญ๋ฐ”์ง€๋ฅผ ์ถ”๊ฐ€๋กœ ์ž…๊ฑฐ๋‚˜ ๋™๊ทธ๋ž€ ์•ˆ๊ฒฝ ๋Œ€์‹  ๊ฒ€์ • ์„ ๊ธ€๋ผ์Šค๋ฅผ ์ฐฉ์šฉํ•˜๊ฑฐ๋‚˜ ํ•ด์•ผํ•ฉ๋‹ˆ๋‹ค.์ข…๋ฅ˜์ด๋ฆ„์–ผ๊ตด๋™๊ทธ๋ž€ ์•ˆ๊ฒฝ, ๊ฒ€์ • ์„ ๊ธ€๋ผ์Šค์ƒ์˜ํŒŒ๋ž€์ƒ‰ ํ‹ฐ์…”์ธ ํ•˜์˜์ฒญ๋ฐ”์ง€๊ฒ‰์˜ท๊ธด ์ฝ”ํŠธ ์ฝ”๋‹ˆ๋Š” ๊ฐ ์ข…๋ฅ˜๋ณ„๋กœ ์ตœ๋Œ€ 1๊ฐ€์ง€ ์˜์ƒ๋งŒ ์ฐฉ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด ์œ„ ์˜ˆ์‹œ์˜ ๊ฒฝ์šฐ ๋™๊ทธ๋ž€ ์•ˆ๊ฒฝ๊ณผ ๊ฒ€์ • ์„ ๊ธ€๋ผ์Šค๋ฅผ ๋™์‹œ์— ์ฐฉ์šฉํ•  ์ˆ˜๋Š” ์—†์Šต๋‹ˆ๋‹ค.์ฐฉ์šฉํ•œ ..

Programming/Algorithm 2025. 9. 9. 23:27
[ํ•˜์ฝ”ํ…Œ] Day1. ์‹œ์ž‘์ด ๋ฐ˜ (ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค "์ „ํ™”๋ฒˆํ˜ธ ๋ชฉ๋ก" ํ’€์ด)

๋งํฌ๋“œ ์ธ์—์„œ ์œ ์—ฐํžˆ ๋ณธ ํ•˜์ฝ”ํ…Œ ํ”„๋กœ์ ํŠธ์— ๋ฌด์ง€์„ฑ์œผ๋กœ ์‹ ์ฒญ์„ ํ•ด๋ดค๋‹ค. ํ•˜์ฝ”ํ…Œ ํ”„๋กœ์ ํŠธ๋ž€ ํ•˜๋ฃจ ๋งค์ผ ์ฝ”๋”ฉํ…Œ์ŠคํŠธ ๋ฃจํ‹ด์„ ๋งŒ๋“ค์–ด์ฃผ๊ธฐ ์œ„ํ•ด์„œ ์ด๋ฉ”์ผ๋กœ ๋ฌธ์ œ๋ฅผ ๋ณด๋‚ด์ฃผ๋Š” ์„œ๋น„์Šค์ž…๋‹ˆ๋‹ค.๋งค์ผ ์ฐธ์—ฌ๋กœ ์‹ ์ฒญ์„ ํ–ˆ๋Š”๋ฐ ์–ผ๋งˆ๋‚˜ ๊พธ์ค€ํžˆํ•  ์ˆ˜ ์žˆ์„์ง€ ๋ชจ๋ฅด๊ฒ ์ง€๋งŒ ํ•ด๋ณด๋Š”๋ฐ๊นŒ์ง€๋Š” ํ•ด๋ณด๋Š”๊ฑธ๋กœ... ์ฒซ ๋ฒˆ์งธ ๋ฌธ์ œ๋กœ ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค "์ „ํ™”๋ฒˆํ˜ธ ๋ชฉ๋ก"์„ ๋ฐ›์•˜๋‹ค. ๋ฌธ์ œ ์„ค๋ช…์ „ํ™”๋ฒˆํ˜ธ๋ถ€์— ์ ํžŒ ์ „ํ™”๋ฒˆํ˜ธ ์ค‘, ํ•œ ๋ฒˆํ˜ธ๊ฐ€ ๋‹ค๋ฅธ ๋ฒˆํ˜ธ์˜ ์ ‘๋‘์–ด์ธ ๊ฒฝ์šฐ๊ฐ€ ์žˆ๋Š”์ง€ ํ™•์ธํ•˜๋ ค ํ•ฉ๋‹ˆ๋‹ค.์ „ํ™”๋ฒˆํ˜ธ๊ฐ€ ๋‹ค์Œ๊ณผ ๊ฐ™์„ ๊ฒฝ์šฐ, ๊ตฌ์กฐ๋Œ€ ์ „ํ™”๋ฒˆํ˜ธ๋Š” ์˜์„์ด์˜ ์ „ํ™”๋ฒˆํ˜ธ์˜ ์ ‘๋‘์‚ฌ์ž…๋‹ˆ๋‹ค.๊ตฌ์กฐ๋Œ€ : 119๋ฐ•์ค€์˜ : 97 674 223์ง€์˜์„ : 11 9552 4421์ „ํ™”๋ฒˆํ˜ธ๋ถ€์— ์ ํžŒ ์ „ํ™”๋ฒˆํ˜ธ๋ฅผ ๋‹ด์€ ๋ฐฐ์—ด phone_book ์ด solution ํ•จ์ˆ˜์˜ ๋งค๊ฐœ๋ณ€์ˆ˜๋กœ ์ฃผ์–ด์งˆ ๋•Œ, ์–ด๋–ค ๋ฒˆํ˜ธ๊ฐ€ ๋‹ค๋ฅธ ..

Programming/Algorithm 2025. 9. 8. 22:07
๊ทธ๋ฆฌ๋”” ์•Œ๊ณ ๋ฆฌ์ฆ˜์€ ์–ธ์ œ ์‚ฌ์šฉํ•ด์•ผํ• ๊นŒ? (๋ฐฑ์ค€)

๊ทธ๋ฆฌ๋”” ์•Œ๊ณ ๋ฆฌ์ฆ˜์€ ์–ธ์ œ ์‚ฌ์šฉํ• ๊นŒ? ๋ฐฑ์ค€์˜ ๋Œ€ํ‘œ์ ์ธ ๊ทธ๋ฆฌ๋“œ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋ฌธ์ œ11047 - ๋™์ „0 ๋ฌธ์ œ์ค€๊ทœ๊ฐ€ ๊ฐ€์ง€๊ณ  ์žˆ๋Š” ๋™์ „์€ ์ด N์ข…๋ฅ˜์ด๊ณ , ๊ฐ๊ฐ์˜ ๋™์ „์„ ๋งค์šฐ ๋งŽ์ด ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค.๋™์ „์„ ์ ์ ˆํžˆ ์‚ฌ์šฉํ•ด์„œ ๊ทธ ๊ฐ€์น˜์˜ ํ•ฉ์„ K๋กœ ๋งŒ๋“ค๋ ค๊ณ  ํ•œ๋‹ค. ์ด๋•Œ ํ•„์š”ํ•œ ๋™์ „ ๊ฐœ์ˆ˜์˜ ์ตœ์†Ÿ๊ฐ’์„ ๊ตฌํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์‹œ์˜ค. ์ž…๋ ฅ์ฒซ์งธ ์ค„์— N๊ณผ K๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. (1 ≤ N ≤ 10, 1 ≤ K ≤ 100,000,000)๋‘˜์งธ ์ค„๋ถ€ํ„ฐ N๊ฐœ์˜ ์ค„์— ๋™์ „์˜ ๊ฐ€์น˜ Ai๊ฐ€ ์˜ค๋ฆ„์ฐจ์ˆœ์œผ๋กœ ์ฃผ์–ด์ง„๋‹ค. (1 ≤ Ai ≤ 1,000,000, A1 = 1, i ≥ 2์ธ ๊ฒฝ์šฐ์— Ai๋Š” Ai-1์˜ ๋ฐฐ์ˆ˜) ์ถœ๋ ฅ์ฒซ์งธ ์ค„์— K์›์„ ๋งŒ๋“œ๋Š”๋ฐ ํ•„์š”ํ•œ ๋™์ „ ๊ฐœ์ˆ˜์˜ ์ตœ์†Ÿ๊ฐ’์„ ์ถœ๋ ฅํ•œ๋‹ค. โœ… 1. ํ•ด๋‹น ๋ฌธ์ œ(11047 - ๋™์ „ 0)๊ฐ€ ๊ทธ๋ฆฌ๋””๋กœ ์ตœ์ ํ•ด๋ฅผ ๋ณด์žฅํ•˜๋Š” ์ด์œ ๐Ÿ”ธ ..

Programming/Algorithm 2025. 6. 30. 18:07
Java ์ œ๋„ค๋ฆญ(Generic)์€ ์™œ ์‚ฌ์šฉํ• ๊นŒ?

๐Ÿ” Java ์ œ๋„ค๋ฆญ(Generic)์€ ์™œ ์‚ฌ์šฉํ• ๊นŒ? Java๋ฅผ ์‚ฌ์šฉํ•˜๋‹ค ๋ณด๋ฉด List, Map ๊ฐ™์€ ์ œ๋„ค๋ฆญ(Generic) ๋ฌธ๋ฒ•์„ ์ž์ฃผ ์ ‘ํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.๊ทธ๋ ‡๋‹ค๋ฉด ์™œ ๊ตณ์ด ์ œ๋„ค๋ฆญ์„ ์จ์•ผ ํ• ๊นŒ์š”?์ด๋ฒˆ ๊ธ€์—์„œ๋Š” ์ œ๋„ค๋ฆญ์˜ ๋„์ž… ์ด์œ , ๋‚ด๋ถ€ ๋™์ž‘ ๋ฐฉ์‹, ์‹ค์ œ ์˜ˆ์ œ, ์ฃผ์˜ํ•  ์ ๊นŒ์ง€ ์ •๋ฆฌํ•ด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.์ œ๋„ค๋ฆญ์ด๋ž€?์ œ๋„ค๋ฆญ(Generic) ์€ ํด๋ž˜์Šค๋‚˜ ๋ฉ”์„œ๋“œ์—์„œ ์‚ฌ์šฉํ•  ๋ฐ์ดํ„ฐ ํƒ€์ž…์„ ์™ธ๋ถ€์—์„œ ์ง€์ •ํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ด์ฃผ๋Š” ๊ธฐ๋Šฅ์ž…๋‹ˆ๋‹ค.List list = new ArrayList();์œ„ ์ฝ”๋“œ์—์„œ List๋Š” String๋งŒ ๋‹ด์„ ์ˆ˜ ์žˆ๋‹ค๋Š” ๋œป์ž…๋‹ˆ๋‹ค. ์™œ ์ œ๋„ค๋ฆญ์„ ์‚ฌ์šฉํ•˜๋Š”๊ฐ€?1. ์ปดํŒŒ์ผ ํƒ€์ž„ ํƒ€์ž… ์ฒดํฌ (ํƒ€์ž… ์•ˆ์ •์„ฑ ํ™•๋ณด)์ œ๋„ค๋ฆญ์ด ์—†๋˜ ์‹œ์ ˆ์—๋Š” ๋ชจ๋“  ํƒ€์ž…์ด Object๋กœ ์ฒ˜๋ฆฌ๋˜์—ˆ๊ณ ,์ž˜๋ชป๋œ ํ˜•๋ณ€ํ™˜์œผ๋กœ ์ธํ•ด ClassCastException..

Programming/Java, Kotlin 2025. 6. 30. 15:48
[Redis / Spring] Redis ๋ถ„์‚ฐ ๋ฝ ์ „๋žต์„ ํ†ตํ•œ ๋™์‹œ์„ฑ ์ฒ˜๋ฆฌ(์„ ์ฐฉ์ˆœ, ๋”ํ‹ฐ ๋ฆฌ๋“œ, ํŒฌํ…€ ๋ฆฌ๋“œ)

Spring๊ณผ Redis๋ฅผ ํ™œ์šฉํ•œ ๋™์‹œ์„ฑ ์ฒ˜๋ฆฌ ๋ฐ ๋ฐ์ดํ„ฐ ์ผ๊ด€์„ฑํ˜„๋Œ€์˜ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์—์„œ๋Š” ๋™์‹œ์„ฑ ์ฒ˜๋ฆฌ๊ฐ€ ์ค‘์š”ํ•œ ์š”์†Œ์ž…๋‹ˆ๋‹ค. ํŠนํžˆ ์—ฌ๋Ÿฌ ์‚ฌ์šฉ์ž๊ฐ€ ๋™์‹œ์— ๋ฐ์ดํ„ฐ๋ฅผ ์ˆ˜์ •ํ•˜๊ฑฐ๋‚˜ ์กฐํšŒํ•˜๋Š” ํ™˜๊ฒฝ์—์„œ ๋ฐ์ดํ„ฐ์˜ ์ผ๊ด€์„ฑ์„ ์œ ์ง€ํ•˜๋Š” ๊ฒƒ์€ ํฐ ๋„์ „ ๊ณผ์ œ๊ฐ€ ๋ฉ๋‹ˆ๋‹ค. ์‹ค์ œ๋กœ ๋ฌด์ž‘์œ„ ํฌ์ธํŠธ(๋žœ๋ค ํฌ์ธํŠธ) ์ง€๊ธ‰ ์ด๋ฒคํŠธ๋ฅผ ๊ฐœ๋ฐœํ–ˆ๋˜ ๊ฒฝํ—˜์„ ์ •๋ฆฌํ•ด๋ณด๋ ค๊ณ  ๊ธ€์„ ์ž‘์„ฑํ•ด ๋ด…๋‹ˆ๋‹ค.1. ๋™์‹œ์„ฑ ์ฒ˜๋ฆฌ์˜ ํ•„์š”์„ฑ๋™์‹œ์„ฑ์ด๋ž€ ์—ฌ๋Ÿฌ ํŠธ๋žœ์žญ์…˜์ด ๋™์‹œ์— ์‹คํ–‰๋  ๋•Œ ๋ฐœ์ƒํ•˜๋Š” ํ˜„์ƒ์œผ๋กœ, ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์—์„œ์˜ ์ฝ๊ธฐ ๋ฐ ์“ฐ๊ธฐ ์ž‘์—…์˜ ์ถฉ๋Œ์„ ๊ด€๋ฆฌํ•˜๋Š” ๊ฒƒ์ด ์ค‘์š”ํ•ฉ๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ์ถฉ๋Œ์ด ๋ฐœ์ƒํ•˜๋ฉด ๋ฐ์ดํ„ฐ์˜ ์ผ๊ด€์„ฑ์ด ์ €ํ•ด๋  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ์ด๋Š” ์‚ฌ์šฉ์ž ๊ฒฝํ—˜์— ๋ถ€์ •์ ์ธ ์˜ํ–ฅ์„ ๋ฏธ์น  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.2. Spring์—์„œ์˜ ํŠธ๋žœ์žญ์…˜ ๊ฒฉ๋ฆฌ ์ˆ˜์ค€Spring์—์„œ๋Š” ํŠธ๋žœ์žญ์…˜์˜ ๊ฒฉ๋ฆฌ ์ˆ˜์ค€์„ ์„ค์ •ํ•˜์—ฌ ..

Programming/Java, Kotlin 2025. 2. 23. 17:29