์•Œ๊ณ ๋ฆฌ์ฆ˜

    [BOJ_14226] ์ด๋ชจํ‹ฐ์ฝ˜ (java)

    [BOJ_14226] ์ด๋ชจํ‹ฐ์ฝ˜ (java)

    ๋ฌธ์ œ๋งํฌ https://www.acmicpc.net/problem/14226 14226๋ฒˆ: ์ด๋ชจํ‹ฐ์ฝ˜ ์˜์„ ์ด๋Š” ๋งค์šฐ ๊ธฐ์˜๊ธฐ ๋•Œ๋ฌธ์—, ํšจ๋นˆ์ด์—๊ฒŒ ์Šค๋งˆ์ผ ์ด๋ชจํ‹ฐ์ฝ˜์„ S๊ฐœ ๋ณด๋‚ด๋ ค๊ณ  ํ•œ๋‹ค. ์˜์„ ์ด๋Š” ์ด๋ฏธ ํ™”๋ฉด์— ์ด๋ชจํ‹ฐ์ฝ˜ 1๊ฐœ๋ฅผ ์ž…๋ ฅํ–ˆ๋‹ค. ์ด์ œ, ๋‹ค์Œ๊ณผ ๊ฐ™์€ 3๊ฐ€์ง€ ์—ฐ์‚ฐ๋งŒ ์‚ฌ์šฉํ•ด์„œ ์ด๋ชจํ‹ฐ์ฝ˜์„ S๊ฐœ ๋งŒ www.acmicpc.net ๋ฌธ์ œ์„ค๋ช… ๋”๋ณด๊ธฐ ๋”๋ณด๊ธฐ ๋ฌธ์ œ ์˜์„ ์ด๋Š” ๋งค์šฐ ๊ธฐ์˜๊ธฐ ๋•Œ๋ฌธ์—, ํšจ๋นˆ์ด์—๊ฒŒ ์Šค๋งˆ์ผ ์ด๋ชจํ‹ฐ์ฝ˜์„ S๊ฐœ ๋ณด๋‚ด๋ ค๊ณ  ํ•œ๋‹ค. ์˜์„ ์ด๋Š” ์ด๋ฏธ ํ™”๋ฉด์— ์ด๋ชจํ‹ฐ์ฝ˜ 1๊ฐœ๋ฅผ ์ž…๋ ฅํ–ˆ๋‹ค. ์ด์ œ, ๋‹ค์Œ๊ณผ ๊ฐ™์€ 3๊ฐ€์ง€ ์—ฐ์‚ฐ๋งŒ ์‚ฌ์šฉํ•ด์„œ ์ด๋ชจํ‹ฐ์ฝ˜์„ S๊ฐœ ๋งŒ๋“ค์–ด ๋ณด๋ ค๊ณ  ํ•œ๋‹ค. ํ™”๋ฉด์— ์žˆ๋Š” ์ด๋ชจํ‹ฐ์ฝ˜์„ ๋ชจ๋‘ ๋ณต์‚ฌํ•ด์„œ ํด๋ฆฝ๋ณด๋“œ์— ์ €์žฅํ•œ๋‹ค. ํด๋ฆฝ๋ณด๋“œ์— ์žˆ๋Š” ๋ชจ๋“  ์ด๋ชจํ‹ฐ์ฝ˜์„ ํ™”๋ฉด์— ๋ถ™์—ฌ๋„ฃ๊ธฐ ํ•œ๋‹ค. ํ™”๋ฉด์— ์žˆ๋Š” ์ด๋ชจํ‹ฐ์ฝ˜ ์ค‘ ํ•˜๋‚˜๋ฅผ ์‚ญ์ œํ•œ๋‹ค..

    [BOJ_14226] ์ด๋ชจํ‹ฐ์ฝ˜ (java)

    [BOJ_14226] ์ด๋ชจํ‹ฐ์ฝ˜ (java)

    ๋ฌธ์ œ๋งํฌ https://www.acmicpc.net/problem/14226 14226๋ฒˆ: ์ด๋ชจํ‹ฐ์ฝ˜ ์˜์„ ์ด๋Š” ๋งค์šฐ ๊ธฐ์˜๊ธฐ ๋•Œ๋ฌธ์—, ํšจ๋นˆ์ด์—๊ฒŒ ์Šค๋งˆ์ผ ์ด๋ชจํ‹ฐ์ฝ˜์„ S๊ฐœ ๋ณด๋‚ด๋ ค๊ณ  ํ•œ๋‹ค. ์˜์„ ์ด๋Š” ์ด๋ฏธ ํ™”๋ฉด์— ์ด๋ชจํ‹ฐ์ฝ˜ 1๊ฐœ๋ฅผ ์ž…๋ ฅํ–ˆ๋‹ค. ์ด์ œ, ๋‹ค์Œ๊ณผ ๊ฐ™์€ 3๊ฐ€์ง€ ์—ฐ์‚ฐ๋งŒ ์‚ฌ์šฉํ•ด์„œ ์ด๋ชจํ‹ฐ์ฝ˜์„ S๊ฐœ ๋งŒ www.acmicpc.net ๋ฌธ์ œ์„ค๋ช… ๋”๋ณด๊ธฐ ๋”๋ณด๊ธฐ ๋ฌธ์ œ ์˜์„ ์ด๋Š” ๋งค์šฐ ๊ธฐ์˜๊ธฐ ๋•Œ๋ฌธ์—, ํšจ๋นˆ์ด์—๊ฒŒ ์Šค๋งˆ์ผ ์ด๋ชจํ‹ฐ์ฝ˜์„ S๊ฐœ ๋ณด๋‚ด๋ ค๊ณ  ํ•œ๋‹ค. ์˜์„ ์ด๋Š” ์ด๋ฏธ ํ™”๋ฉด์— ์ด๋ชจํ‹ฐ์ฝ˜ 1๊ฐœ๋ฅผ ์ž…๋ ฅํ–ˆ๋‹ค. ์ด์ œ, ๋‹ค์Œ๊ณผ ๊ฐ™์€ 3๊ฐ€์ง€ ์—ฐ์‚ฐ๋งŒ ์‚ฌ์šฉํ•ด์„œ ์ด๋ชจํ‹ฐ์ฝ˜์„ S๊ฐœ ๋งŒ๋“ค์–ด ๋ณด๋ ค๊ณ  ํ•œ๋‹ค. ํ™”๋ฉด์— ์žˆ๋Š” ์ด๋ชจํ‹ฐ์ฝ˜์„ ๋ชจ๋‘ ๋ณต์‚ฌํ•ด์„œ ํด๋ฆฝ๋ณด๋“œ์— ์ €์žฅํ•œ๋‹ค. ํด๋ฆฝ๋ณด๋“œ์— ์žˆ๋Š” ๋ชจ๋“  ์ด๋ชจํ‹ฐ์ฝ˜์„ ํ™”๋ฉด์— ๋ถ™์—ฌ๋„ฃ๊ธฐ ํ•œ๋‹ค. ํ™”๋ฉด์— ์žˆ๋Š” ์ด๋ชจํ‹ฐ์ฝ˜ ์ค‘ ํ•˜๋‚˜๋ฅผ ์‚ญ์ œํ•œ๋‹ค..

    BFS๋กœ ์ตœ์†Œ๋น„์šฉ ๋ฌธ์ œ ํ•ด๊ฒฐํ•˜๊ธฐ

    BFS๋กœ ์ตœ์†Œ๋น„์šฉ ๋ฌธ์ œ ํ•ด๊ฒฐํ•˜๊ธฐ

    ๋„์ž… BFS ์•Œ๊ณ ๋ฆฌ์ฆ˜์˜ ๋ชฉ์ ์€ ๊ทธ๋ž˜ํ”„์—์„œ ๋ชจ๋“  ์ •์ ์„ ํ•œ๋ฒˆ์”ฉ๋งŒ ํ™•์ธํ•˜๊ธฐ ์œ„ํ•œ ๊ฒƒ์ž…๋‹ˆ๋‹ค. BFS๊ฐ€ ๋„ˆ๋น„์šฐ์„ ํƒ์ƒ‰์กฐ๊ฑด์ด๋ผ๋Š” ์„ฑ์งˆ ๋•Œ๋ฌธ์— ๋ช‡๊ฐ€์ง€ ์กฐ๊ฑด๋งŒ ์„ฑ๋ฆฝํ•˜๋ฉด ์ตœ์†Œ๋น„์šฉ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. BFS๋ž€? BFS ๊ทธ๋ž˜ํ”„ ์„ค๋ช… ์ฐธ๊ณ ํ•˜๊ธฐ [Algorithm] ๊ทธ๋ž˜ํ”„๋ž€? ๊ทธ๋ž˜ํ”„ ํƒ์ƒ‰์•Œ๊ณ ๋ฆฌ์ฆ˜(DFS,BFS) ๋„์ž… ๊ทธ๋ž˜ํ”„๋Š” ์ •์ ๊ณผ ๊ฐ„์„ ์œผ๋กœ ๊ตฌ์„ฑ๋˜๋Š” ์ค‘์š”ํ•œ ์ž๋ฃŒ๊ตฌ์กฐ์ž…๋‹ˆ๋‹ค. ์ด๋ฒˆ ์‹œ๊ฐ„์—๋Š” ๊ทธ๋ž˜ํ”„์— ๋Œ€ํ•œ ์šฉ์–ด์™€ ๊ทธ๋ž˜ํ”„๋ฅผ ํ‘œํ˜„ํ•˜๋Š” ๋ฐฉ๋ฒ• ๊ทธ๋ฆฌ๊ณ  ๊ทธ๋ž˜ํ”„๋ฅผ ํƒ์ƒ‰ํ•˜๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์•Œ์•„๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. ๊ทธ๋ž˜ํ”„ cnu-jinseop.tistory.com BFS๋Š” ๊ทธ๋ž˜ํ”„์˜ ํƒ์ƒ‰์—์„œ ์‚ฌ์šฉ๋˜๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜์ž…๋‹ˆ๋‹ค. DFS์™€ ๋™์ผํ•˜๊ฒŒ ๋ชจ๋“  ์ •์ ์„ ํ•œ๋ฒˆ์”ฉ๋งŒ ํ™•์ธํ•  ๋•Œ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. BFS๋Š” ๋„ˆ๋น„๋ฅผ ์šฐ์„ ์œผ๋กœ ํƒ์ƒ‰ํ•˜๋Š” ๊ธฐ๋Šฅ์„ ์ˆ˜ํ–‰ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์ตœ์†Œ๋น„์šฉ ๋ฌธ์ œ๋ฅผ ํ•ด..

    [backjoon_15990] 1,2,3 ๋”ํ•˜๊ธฐ 5(Java)

    [backjoon_15990] 1,2,3 ๋”ํ•˜๊ธฐ 5(Java)

    ๋ฌธ์ œ๋งํฌ https://www.acmicpc.net/problem/15990 15990๋ฒˆ: 1, 2, 3 ๋”ํ•˜๊ธฐ 5 ๊ฐ ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค๋งˆ๋‹ค, n์„ 1, 2, 3์˜ ํ•ฉ์œผ๋กœ ๋‚˜ํƒ€๋‚ด๋Š” ๋ฐฉ๋ฒ•์˜ ์ˆ˜๋ฅผ 1,000,000,009๋กœ ๋‚˜๋ˆˆ ๋‚˜๋จธ์ง€๋ฅผ ์ถœ๋ ฅํ•œ๋‹ค. www.acmicpc.net ๋ฌธ์ œ์„ค๋ช… ๋”๋ณด๊ธฐ ๋”๋ณด๊ธฐ ๋”๋ณด๊ธฐ ๋ฌธ์ œ ์ •์ˆ˜ 4๋ฅผ 1, 2, 3์˜ ํ•ฉ์œผ๋กœ ๋‚˜ํƒ€๋‚ด๋Š” ๋ฐฉ๋ฒ•์€ ์ด 3๊ฐ€์ง€๊ฐ€ ์žˆ๋‹ค. ํ•ฉ์„ ๋‚˜ํƒ€๋‚ผ ๋•Œ๋Š” ์ˆ˜๋ฅผ 1๊ฐœ ์ด์ƒ ์‚ฌ์šฉํ•ด์•ผ ํ•œ๋‹ค. ๋‹จ, ๊ฐ™์€ ์ˆ˜๋ฅผ ๋‘ ๋ฒˆ ์ด์ƒ ์—ฐ์†ํ•ด์„œ ์‚ฌ์šฉํ•˜๋ฉด ์•ˆ ๋œ๋‹ค. 1+2+1 1+3 3+1 ์ •์ˆ˜ n์ด ์ฃผ์–ด์กŒ์„ ๋•Œ, n์„ 1, 2, 3์˜ ํ•ฉ์œผ๋กœ ๋‚˜ํƒ€๋‚ด๋Š” ๋ฐฉ๋ฒ•์˜ ์ˆ˜๋ฅผ ๊ตฌํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์‹œ์˜ค. ์ž…๋ ฅ ์ฒซ์งธ ์ค„์— ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค์˜ ๊ฐœ์ˆ˜ T๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. ๊ฐ ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค๋Š” ํ•œ ์ค„๋กœ ์ด๋ฃจ์–ด์ ธ ์žˆ๊ณ , ..

    ๋น„ํŠธ๋งˆ์Šคํฌ ์•Œ๊ณ ๋ฆฌ์ฆ˜

    ๋น„ํŠธ๋งˆ์Šคํฌ ์•Œ๊ณ ๋ฆฌ์ฆ˜

    ๋„์ž… ๋น„ํŠธ๋งˆ์Šคํฌ ์•Œ๊ณ ๋ฆฌ์ฆ˜์€ ๋น„ํŠธ์—ฐ์‚ฐ์ž๋ฅผ ํ™œ์šฉํ•ด ๊ฐ„๋‹จํ•˜๊ฒŒ ์ง‘ํ•ฉ์„ ํ‘œํ˜„ํ•˜๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด๋‹ค. ๋น„ํŠธ๋งˆ์Šคํฌ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ํ•˜๋‚˜์˜ ์ •์ˆ˜๋กœ ์—ฌ๋Ÿฌ๊ฐ€์ง€ ์ง‘ํ•ฉ์„ ํ‘œํ˜„ํ•  ์ˆ˜ ์žˆ๋‹ค. ํ•˜์ง€๋งŒ ์—ฌ๋Ÿฌ๊ฐ€์ง€ ์ œ์•ฝ์‚ฌํ•ญ์ด ์žˆ์œผ๋ฏ€๋กœ ์‚ฌ์šฉ์— ์žˆ์–ด ์ฃผ์˜ํ•ด์•ผํ•˜๋ฉฐ ์ฃผ๋กœ ๋‹ค์ด๋‚˜๋ฏน ํ”„๋กœ๊ทธ๋ž˜๋ฐ์—์„œ ์ฃผ๋กœ ์‚ฌ์šฉํ•œ๋‹ค. ๋น„ํŠธ์—ฐ์‚ฐ | ์—ฐ์‚ฐ : or์—ฐ์‚ฐ์œผ๋กœ ๋‘˜ ์ค‘ ํ•˜๋‚˜๊ฐ€ 1์ด๋ฉด 1์ด๋‹ค. &์—ฐ์‚ฐ : and์—ฐ์‚ฐ์œผ๋กœ ๋‘˜ ๋‹ค 1์ด์–ด์•ผ 1์ด๋‹ค. ^์—ฐ์‚ฐ : xor์—ฐ์‚ฐ์œผ๋กœ ๋‘๊ฐœ์˜ ์—ฐ์‚ฐ์ž๊ฐ€ ์„œ๋กœ ๋‹ค๋ฅธ ๊ฐ’์ด์–ด์•ผ 1์ด๋‹ค. ~์—ฐ์‚ฐ : not์—ฐ์‚ฐ์œผ๋กœ 1์„ 0์œผ๋กœ 0์„ 1๋กœ ๋ณ€๊ฒฝํ•˜์—ฌ์ค€๋‹ค. -shift์—ฐ์‚ฐ- >> ์—ฐ์‚ฐ์€ ๋น„ํŠธ๋ฅผ ์˜ค๋ฅธ์ชฝ์œผ๋กœ ๋ฏธ๋Š” ์—ฐ์‚ฐ์œผ๋กœ 2์˜ n์Šน์„ ๋‚˜๋ˆ„๋Š” ๊ฒƒ๊ณผ ๋™์ผํ•œ ๊ฒฐ๊ณผ๊ฐ€ ๋‚˜์˜จ๋‹ค.

    ์ˆ˜ํ•™ - Mod์—ฐ์‚ฐ

    ์ˆ˜ํ•™ - Mod์—ฐ์‚ฐ

    Mod ์—ฐ์‚ฐ ๋‚˜๋จธ์ง€ ์—ฐ์‚ฐ์˜ ํŠน์ง• (A + B) % C == ((A % C) + (B % C)) % C (A * B) % C == ((A % C) * (B % C)) % C (A - B) % C == ((A % C) - (B % C) + C) % C ๋‚˜๋ˆ„๊ธฐ ์—ฐ์‚ฐ์„ ์ œ์™ธํ•˜๊ณ ๋Š” ๋ถ„๋ฐฐ๋ฒ•์น™ ์ฒ˜๋Ÿผ Mod๋ฅผ ์ฒ˜๋ฆฌํ•˜๊ณ  ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•˜๋‹ค. (์ฃผ์˜์‚ฌํ•ญ) '-' ์—ฐ์‚ฐ์ผ ๊ฒฝ์šฐ ๋ฒ”์œ„๋Š” -C