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

๋ฐฑ์ค€84

[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.
[Java] BOJ 2292 ๋ฒŒ์ง‘ ๋ฌธ์ œ ๋ฌธ์ œ ๋งํฌ https://www.acmicpc.net/problem/2292์œก๊ฐํ˜•์œผ๋กœ ์ด๋ฃจ์–ด์ง„ ๋ฒŒ์ง‘์ด ์žˆ์œผ๋ฉฐ ์ค‘์•™์˜ ๋ฐฉ 1๋ถ€ํ„ฐ ์‹œ์ž‘ํ•ด์„œ ์ด์›ƒํ•˜๋Š” ๋ฐฉ์— ๋Œ์•„๊ฐ€๋ฉด์„œ 1์”ฉ ์ฆ๊ฐ€ํ•˜๋Š” ๋ฒˆํ˜ธ๋ฅผ ์ฃผ์†Œ๋กœ ๋งค๊ธธ ์ˆ˜ ์žˆ๋‹ค. ์ˆซ์ž N์ด ์ฃผ์–ด์กŒ์„ ๋•Œ, ๋ฒŒ์ง‘์˜ ์ค‘์•™ 1์—์„œ N๋ฒˆ ๋ฐฉ๊นŒ์ง€ ์ตœ์†Œ ๊ฐœ์ˆ˜์˜ ๋ฐฉ์„ ์ง€๋‚˜์„œ ๊ฐˆ ๋•Œ ๋ช‡ ๊ฐœ์˜ ๋ฐฉ์„ ์ง€๋‚˜๊ฐ€๋Š”์ง€(์‹œ์ž‘๊ณผ ๋์„ ํฌํ•จํ•˜์—ฌ)๋ฅผ ๊ณ„์‚ฐํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์‹œ์˜ค.  ์˜ˆ๋ฅผ ๋“ค๋ฉด, 13๊นŒ์ง€๋Š” 3๊ฐœ, 58๊นŒ์ง€๋Š” 5๊ฐœ๋ฅผ ์ง€๋‚œ๋‹ค. ์ฒซ์งธ ์ค„์— N(1 ≤ N ≤ 1,000,000,000)์ด ์ฃผ์–ด์ง„๋‹ค. ์•„์ด๋””์–ดํ•œ ๋‘˜๋ ˆ๋‹น ์œก๊ฐํ˜•์ด 6์˜ ๋ฐฐ์ˆ˜๋กœ ๋Š˜์–ด๋‚˜๋ฏ€๋กœ ์ด๋ฅผ ํ™œ์šฉํ•ด์„œ ํ•œ ๋‘˜๋ ˆ์˜ ์ตœ๋Œ€ ๋ฐฉ ๋ฒˆํ˜ธ๋ฅผ ๊ณ„์‚ฐํ•ด, ๊ทธ ๋ฐฉ๋ฒˆํ˜ธ๋ณด๋‹ค ์ž‘์œผ๋ฉด .while๋ฌธ์„ ๊ทธ๋งŒ๋Œ๋ฆฌ๊ณ  ํฌ๋ฉด ์นด์šดํŠธ + 1์„ ํ•˜๋Š” ๋ฐฉ๋ฒ•์œผ๋กœ ํ•˜๋ฉด ๋  ๊ฒƒ ๊ฐ™.. 2024. 7. 10.