๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

์•Œ๊ณ ๋ฆฌ์ฆ˜85

[Java] BOJ 2775 ๋ถ€๋…€ํšŒ์žฅ์ด ๋ ํ…Œ์•ผ ๋ฌธ์ œ ๋ฌธ์ œ ๋งํฌ https://www.acmicpc.net/problem/2775์ด ์•„ํŒŒํŠธ์— ๊ฑฐ์ฃผ๋ฅผ ํ•˜๋ ค๋ฉด ์กฐ๊ฑด์ด ์žˆ๋Š”๋ฐ, “a์ธต์˜ bํ˜ธ์— ์‚ด๋ ค๋ฉด ์ž์‹ ์˜ ์•„๋ž˜(a-1)์ธต์˜ 1ํ˜ธ๋ถ€ํ„ฐ bํ˜ธ๊นŒ์ง€ ์‚ฌ๋žŒ๋“ค์˜ ์ˆ˜์˜ ํ•ฉ๋งŒํผ ์‚ฌ๋žŒ๋“ค์„ ๋ฐ๋ ค์™€ ์‚ด์•„์•ผ ํ•œ๋‹ค” ๋Š” ๊ณ„์•ฝ ์กฐํ•ญ์„ ๊ผญ ์ง€ํ‚ค๊ณ  ๋“ค์–ด์™€์•ผ ํ•œ๋‹ค. ์•„ํŒŒํŠธ์— ๋น„์–ด์žˆ๋Š” ์ง‘์€ ์—†๊ณ  ๋ชจ๋“  ๊ฑฐ์ฃผ๋ฏผ๋“ค์ด ์ด ๊ณ„์•ฝ ์กฐ๊ฑด์„ ์ง€ํ‚ค๊ณ  ์™”๋‹ค๊ณ  ๊ฐ€์ •ํ–ˆ์„ ๋•Œ, ์ฃผ์–ด์ง€๋Š” ์–‘์˜ ์ •์ˆ˜ k์™€ n์— ๋Œ€ํ•ด k์ธต์— nํ˜ธ์—๋Š” ๋ช‡ ๋ช…์ด ์‚ด๊ณ  ์žˆ๋Š”์ง€ ์ถœ๋ ฅํ•˜๋ผ. ๋‹จ, ์•„ํŒŒํŠธ์—๋Š” 0์ธต๋ถ€ํ„ฐ ์žˆ๊ณ  ๊ฐ์ธต์—๋Š” 1ํ˜ธ๋ถ€ํ„ฐ ์žˆ์œผ๋ฉฐ, 0์ธต์˜ iํ˜ธ์—๋Š” i๋ช…์ด ์‚ฐ๋‹ค. ์ฒซ ๋ฒˆ์งธ ์ค„์— Test case์˜ ์ˆ˜ T๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๊ฐ๊ฐ์˜ ์ผ€์ด์Šค๋งˆ๋‹ค ์ž…๋ ฅ์œผ๋กœ ์ฒซ ๋ฒˆ์งธ ์ค„์— ์ •์ˆ˜ k, ๋‘ ๋ฒˆ์งธ ์ค„์— ์ •์ˆ˜ n์ด ์ฃผ์–ด์ง„๋‹ค. ๊ฐ๊ฐ์˜ Test .. 2024. 7. 12.
[Java] BOJ 2609 ์ตœ๋Œ€๊ณต์•ฝ์ˆ˜์™€ ์ตœ์†Œ๊ณต๋ฐฐ์ˆ˜ ๋ฌธ์ œ ๋ฌธ์ œ ๋งํฌ https://www.acmicpc.net/problem/2609๋‘ ๊ฐœ์˜ ์ž์—ฐ์ˆ˜๋ฅผ ์ž…๋ ฅ๋ฐ›์•„ ์ตœ๋Œ€ ๊ณต์•ฝ์ˆ˜์™€ ์ตœ์†Œ ๊ณต๋ฐฐ์ˆ˜๋ฅผ ์ถœ๋ ฅํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์‹œ์˜ค.์ฒซ์งธ ์ค„์—๋Š” ๋‘ ๊ฐœ์˜ ์ž์—ฐ์ˆ˜๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. ์ด ๋‘˜์€ 10,000์ดํ•˜์˜ ์ž์—ฐ์ˆ˜์ด๋ฉฐ ์‚ฌ์ด์— ํ•œ ์นธ์˜ ๊ณต๋ฐฑ์ด ์ฃผ์–ด์ง„๋‹ค.์ฒซ์งธ ์ค„์—๋Š” ์ž…๋ ฅ์œผ๋กœ ์ฃผ์–ด์ง„ ๋‘ ์ˆ˜์˜ ์ตœ๋Œ€๊ณต์•ฝ์ˆ˜๋ฅผ, ๋‘˜์งธ ์ค„์—๋Š” ์ž…๋ ฅ์œผ๋กœ ์ฃผ์–ด์ง„ ๋‘ ์ˆ˜์˜ ์ตœ์†Œ ๊ณต๋ฐฐ์ˆ˜๋ฅผ ์ถœ๋ ฅํ•œ๋‹ค.์•„์ด๋””์–ด์ตœ๋Œ€๊ณต์•ฝ์ˆ˜์™€ ์ตœ์†Œ๊ณต๋ฐฐ์ˆ˜๋ฅผ ์ˆซ์ž๋ฅผ ์ผ์ผ์ด ์‚ฌ์šฉํ•˜์—ฌ ๊ตฌํ• ๋ ค๊ณ  ํ•˜๋‹ค๊ฐ€ ๊ณต์‹์ด ์žˆ์—ˆ๋˜ ๊ฒƒ ๊ฐ™์•„์„œ ๋ฌธ์ œํ’€๊ธฐ ์ „์— ๋จผ์ € ์ฐพ์•„๋ดค์—ˆ๋‹ค.๊ทธ ๋ฐฉ๋ฒ•์€ ์œ ํด๋ฆฌ๋“œ ํ˜ธ์ œ๋ฒ•์ธ๋ฐ ์œ ํด๋ฆฌ๋“œ ํ˜ธ์ œ๋ฒ•์ด๋ž€ a๋ฅผ b๋กœ ๋‚˜๋ˆˆ ๋‚˜๋จธ์ง€ r๋กœ b๋ฅผ ๋‚˜๋ˆด์„๋•Œ ๋‚˜์˜จ ๋‚˜๋จธ์ง€ r'์ด 0์ด๋ฉด ๊ทธ r์ด ์ตœ๋Œ€๊ณต์•ฝ์ˆ˜๋ผ๋Š” ๊ฒƒ์ด๋‹ค. ๋งŒ์•ฝ 0์œผ๋กœ ๋–จ์–ด์ง€์ง€ ์•Š๋Š”๋‹ค๋ฉด a ์ž๋ฆฌ์— b.. 2024. 7. 12.
[Java] BOJ 1546 ํ‰๊ท  ๋ฌธ์ œ ๋ฌธ์ œ ๋งํฌ https://www.acmicpc.net/problem/1546์„ธ์ค€์ด๊ฐ€ ์ž๊ธฐ ์ ์ˆ˜ ์ค‘์— ์ตœ๋Œ“๊ฐ’์„ ๊ณจ๋ž๋‹ค. ์ด ๊ฐ’์„ M์ด๋ผ๊ณ  ํ•œ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๋‚˜์„œ ๋ชจ๋“  ์ ์ˆ˜๋ฅผ ์ ์ˆ˜/M*100์œผ๋กœ ๊ณ ์ณค๋‹ค.  ์ฒซ์งธ ์ค„์— ์‹œํ—˜ ๋ณธ ๊ณผ๋ชฉ์˜ ๊ฐœ์ˆ˜ N์ด ์ฃผ์–ด์ง„๋‹ค. ์ด ๊ฐ’์€ 1000๋ณด๋‹ค ์ž‘๊ฑฐ๋‚˜ ๊ฐ™๋‹ค. ๋‘˜์งธ ์ค„์— ์„ธ์ค€์ด์˜ ํ˜„์žฌ ์„ฑ์ ์ด ์ฃผ์–ด์ง„๋‹ค. ์ด ๊ฐ’์€ 100๋ณด๋‹ค ์ž‘๊ฑฐ๋‚˜ ๊ฐ™์€ ์Œ์ด ์•„๋‹Œ ์ •์ˆ˜์ด๊ณ , ์ ์–ด๋„ ํ•˜๋‚˜์˜ ๊ฐ’์€ 0๋ณด๋‹ค ํฌ๋‹ค. ์ฒซ์งธ ์ค„์— ์ƒˆ๋กœ์šด ํ‰๊ท ์„ ์ถœ๋ ฅํ•œ๋‹ค. ์‹ค์ œ ์ •๋‹ต๊ณผ ์ถœ๋ ฅ๊ฐ’์˜ ์ ˆ๋Œ€์˜ค์ฐจ ๋˜๋Š” ์ƒ๋Œ€์˜ค์ฐจ๊ฐ€ 10-2 ์ดํ•˜์ด๋ฉด ์ •๋‹ต์ด๋‹ค. ์•„์ด๋””์–ด์ ์ˆ˜๋ฅผ ์ž…๋ ฅ๋ฐ›์œผ๋ฉด์„œ ์ตœ๋Œ“๊ฐ’์„ ์ฐพ๊ณ , ์ฐพ์€ ์ตœ๋Œ“๊ฐ’์„ ์ด์šฉํ•˜์—ฌ ์ ์ˆ˜๋ฅผ ๋‹ค์‹œ ๊ณ„์‚ฐํ•˜๋Š” ์‹์„ ์งœ๋ฉด ๋œ๋‹ค๊ณ  ์ƒ๊ฐํ–ˆ๋‹ค. ํ’€๋ฉด์„œ ํ•œ๊ฐ€์ง€ ์ฃผ์˜ํ•œ๊ฑด ์†Œ์ˆ˜์ ๊นŒ์ง€ ๋‚˜์™€์•ผ๋˜๋ฏ€๋กœ ๋‚˜๋ˆ„๊ธฐ๋ฅผ ํ•˜๊ณ  ์ €์žฅ.. 2024. 7. 11.
[Java] BOJ 1259 ํŒฐ๋ฆฐ๋“œ๋กฌ์ˆ˜ ๋ฌธ์ œ ๋ฌธ์ œ ๋งํฌ ์ˆ˜์˜ ์ˆซ์ž๋“ค์„ ๋’ค์—์„œ๋ถ€ํ„ฐ ์ฝ์–ด๋„ ๊ฐ™๋‹ค๋ฉด ๊ทธ ์ˆ˜๋Š” ํŒฐ๋ฆฐ๋“œ๋กฌ์ˆ˜๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด 121, 12421 ๋“ฑ์€ ํŒฐ๋ฆฐ๋“œ๋กฌ์ˆ˜๋‹ค. ์ด๋ฒˆ ๋ฌธ์ œ์—์„œ๋Š” ๋ฌด์˜๋ฏธํ•œ 0์ด ์•ž์— ์˜ฌ ์ˆ˜ ์—†๋‹ค. (010์€ ํŒฐ๋ฆฐ๋“œ๋กฌ์ˆ˜๊ฐ€ ๋  ์ˆ˜ ์—†๋‹ค.) ์ž…๋ ฅ์€ ์—ฌ๋Ÿฌ ๊ฐœ์˜ ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค๋กœ ์ด๋ฃจ์–ด์ ธ ์žˆ์œผ๋ฉฐ, ๊ฐ ์ค„๋งˆ๋‹ค 1 ์ด์ƒ 99999 ์ดํ•˜์˜ ์ •์ˆ˜๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. ์ž…๋ ฅ์˜ ๋งˆ์ง€๋ง‰ ์ค„์—๋Š” 0์ด ์ฃผ์–ด์ง€๋ฉฐ, ์ด ์ค„์€ ๋ฌธ์ œ์— ํฌํ•จ๋˜์ง€ ์•Š๋Š”๋‹ค.  ๊ฐ ์ค„๋งˆ๋‹ค ์ฃผ์–ด์ง„ ์ˆ˜๊ฐ€ ํŒฐ๋ฆฐ๋“œ๋กฌ์ˆ˜๋ฉด 'yes', ์•„๋‹ˆ๋ฉด 'no'๋ฅผ ์ถœ๋ ฅํ•œ๋‹ค.์•„์ด๋””์–ด๋“ค์–ด์˜จ ๋ฌธ์ž์—ด ๊ธธ์ด๋ฅผ ๊ณ„์‚ฐํ•ด์„œ ์•ž ๋’ค ๊ธ€์ž๊ฐ€ ๊ฐ™์€์ง€ ๋น„๊ตํ•ด์„œ ๊ฐ™์œผ๋ฉด ๊ณ„์†ํ•˜๊ณ  ๋‹ค๋ฅด๋ฉด no๋ฅผ ์ž…๋ ฅํ•œ๋‹ค.์•ž ๋’ค๋ฅผ ๋‹ค ๋น„๊ตํ–ˆ์œผ๋ฉด yes๋ฅผ ์ถœ๋ ฅํ•œ๋‹ค. ๋ฌธ์ž์—ด์˜ ๊ธธ์ด๊ฐ€ ํ™€์ˆ˜์ด๋“  ์ง์ˆ˜์ด๋“  ์ง์ˆ˜๋ฉด ์•ž ๋’ค ๋‹ค ๋น„๊ตํ•˜๋ฉด ๋˜๊ณ  ํ™€์ˆ˜์—ฌ๋„ ๊ฐ€์šด๋ฐ ์ˆ˜๋Š” .. 2024. 7. 11.
[Java] BOJ 15829 Hashing ๋ฌธ์ œ ๋ฌธ์ œ ๋งํฌ https://www.acmicpc.net/problem/15829r์˜ ๊ฐ’์€ 26๋ณด๋‹ค ํฐ ์†Œ์ˆ˜์ธ 31๋กœ ํ•˜๊ณ  M์˜ ๊ฐ’์€ 1234567891๋กœ ํ•œ๋‹ค.์œ„ ์‹์„ ํ†ตํ•ด ์ฃผ์–ด์ง„ ๋ฌธ์ž์—ด์˜ ํ•ด์‹œ ๊ฐ’์„ ๊ณ„์‚ฐํ•˜์‹œ์˜ค.์ฒซ ์ค„์—๋Š” ๋ฌธ์ž์—ด์˜ ๊ธธ์ด L์ด ๋“ค์–ด์˜จ๋‹ค. ๋‘˜์งธ ์ค„์—๋Š” ์˜๋ฌธ ์†Œ๋ฌธ์ž๋กœ๋งŒ ์ด๋ฃจ์–ด์ง„ ๋ฌธ์ž์—ด์ด ๋“ค์–ด์˜จ๋‹ค.์ž…๋ ฅ์œผ๋กœ ์ฃผ์–ด์ง€๋Š” ๋ฌธ์ž์—ด์€ ๋ชจ๋‘ ์•ŒํŒŒ๋ฒณ ์†Œ๋ฌธ์ž๋กœ๋งŒ ๊ตฌ์„ฑ๋˜์–ด ์žˆ๋‹ค.๋ฌธ์ œ์—์„œ ์ฃผ์–ด์ง„ ํ•ด์‹œํ•จ์ˆ˜์™€ ์ž…๋ ฅ์œผ๋กœ ์ฃผ์–ด์ง„ ๋ฌธ์ž์—ด์„ ์‚ฌ์šฉํ•ด ๊ณ„์‚ฐํ•œ ํ•ด์‹œ ๊ฐ’์„ ์ •์ˆ˜๋กœ ์ถœ๋ ฅํ•œ๋‹ค.์•„์ด๋””์–ด์˜์–ด์˜ ์†Œ๋ฌธ์ž๋ฅผ ์•„์Šคํ‚ค์ฝ”๋“œ๋กœ ๋ณ€ํ™˜์‹œ์ผœ ํ•ด๋‹น ์•„์Šคํ‚ค์ฝ”๋“œ์— ํ•ด์‹œ ๊ฐ’์„ ๋งค์นญ์‹œ์ผœ์„œ ์•„์Šคํ‚ค์ฝ”๋“œ๋ฅผ key๊ฐ’, ํ•ด์‹œ ๊ฐ’์„ value๊ฐ’์œผ๋กœ ์‚ฌ์šฉํ•˜๋Š” HashMap์„ ์‚ฌ์šฉํ•˜๋ฉด ๋˜๊ฒ ๋‹ค๊ณ  ์ƒ๊ฐํ–ˆ๋‹ค. ๊ฒช์€ ์‹œํ–‰์ฐฉ์˜ค์ฒ˜์Œ์— 50์ ์ด ๋‚˜์™”๋‹ค... ๋จธ๊ฐ€ ๋ฌธ์ œ์ธ๊ฐ€ .. 2024. 7. 11.
[Java] BOJ 2798 ๋ธ”๋ž™์žญ ๋ฌธ์ œ ๋ฌธ์ œ ๋งํฌ https://www.acmicpc.net/problem/2798N์žฅ์˜ ์นด๋“œ์— ์จ์ ธ ์žˆ๋Š” ์ˆซ์ž๊ฐ€ ์ฃผ์–ด์กŒ์„ ๋•Œ, M์„ ๋„˜์ง€ ์•Š์œผ๋ฉด์„œ M์— ์ตœ๋Œ€ํ•œ ๊ฐ€๊นŒ์šด ์นด๋“œ 3์žฅ์˜ ํ•ฉ์„ ๊ตฌํ•ด ์ถœ๋ ฅํ•˜์‹œ์˜ค.์ฒซ์งธ ์ค„์— ์นด๋“œ์˜ ๊ฐœ์ˆ˜ N(3 ≤ N ≤ 100)๊ณผ M(10 ≤ M ≤ 300,000)์ด ์ฃผ์–ด์ง„๋‹ค. ๋‘˜์งธ ์ค„์—๋Š” ์นด๋“œ์— ์“ฐ์—ฌ ์žˆ๋Š” ์ˆ˜๊ฐ€ ์ฃผ์–ด์ง€๋ฉฐ, ์ด ๊ฐ’์€ 100,000์„ ๋„˜์ง€ ์•Š๋Š” ์–‘์˜ ์ •์ˆ˜์ด๋‹ค. ํ•ฉ์ด M์„ ๋„˜์ง€ ์•Š๋Š” ์นด๋“œ 3์žฅ์„ ์ฐพ์„ ์ˆ˜ ์žˆ๋Š” ๊ฒฝ์šฐ๋งŒ ์ž…๋ ฅ์œผ๋กœ ์ฃผ์–ด์ง„๋‹ค. ์ฒซ์งธ ์ค„์— M์„ ๋„˜์ง€ ์•Š์œผ๋ฉด์„œ M์— ์ตœ๋Œ€ํ•œ ๊ฐ€๊นŒ์šด ์นด๋“œ 3์žฅ์˜ ํ•ฉ์„ ์ถœ๋ ฅํ•œ๋‹ค. ์•„์ด๋””์–ด์นด๋“œ ์„ธ์žฅ์˜ ํ•ฉ์„ ๊ตฌํ–ˆ์„ ๋•Œ, ๋ฐฐ์—ด์— ์ €์žฅํ•˜๋Š”๋ฐ, ๊ทธ ํ•ฉ์ด ๊ฒน์น  ์ˆ˜๋„ ์žˆ์œผ๋‹ˆ ์ค‘๋ณต ์ˆซ์ž๊ฐ€ ๋“ค์–ด๊ฐ€์ง€ ์•Š๋Š” set์„ ํ™œ์šฉํ•ด์•ผ๊ฒ ๋‹ค๊ณ  ์ƒ๊ฐํ–ˆ๋‹ค.์นด๋“œ ์„ธ์žฅ์˜ ์กฐ.. 2024. 7. 10.