์๊ณ ๋ฆฌ์ฆ
[BOJ_14226] ์ด๋ชจํฐ์ฝ (java)
๋ฌธ์ ๋งํฌ https://www.acmicpc.net/problem/14226 14226๋ฒ: ์ด๋ชจํฐ์ฝ ์์ ์ด๋ ๋งค์ฐ ๊ธฐ์๊ธฐ ๋๋ฌธ์, ํจ๋น์ด์๊ฒ ์ค๋ง์ผ ์ด๋ชจํฐ์ฝ์ S๊ฐ ๋ณด๋ด๋ ค๊ณ ํ๋ค. ์์ ์ด๋ ์ด๋ฏธ ํ๋ฉด์ ์ด๋ชจํฐ์ฝ 1๊ฐ๋ฅผ ์ ๋ ฅํ๋ค. ์ด์ , ๋ค์๊ณผ ๊ฐ์ 3๊ฐ์ง ์ฐ์ฐ๋ง ์ฌ์ฉํด์ ์ด๋ชจํฐ์ฝ์ S๊ฐ ๋ง www.acmicpc.net ๋ฌธ์ ์ค๋ช ๋๋ณด๊ธฐ ๋๋ณด๊ธฐ ๋ฌธ์ ์์ ์ด๋ ๋งค์ฐ ๊ธฐ์๊ธฐ ๋๋ฌธ์, ํจ๋น์ด์๊ฒ ์ค๋ง์ผ ์ด๋ชจํฐ์ฝ์ S๊ฐ ๋ณด๋ด๋ ค๊ณ ํ๋ค. ์์ ์ด๋ ์ด๋ฏธ ํ๋ฉด์ ์ด๋ชจํฐ์ฝ 1๊ฐ๋ฅผ ์ ๋ ฅํ๋ค. ์ด์ , ๋ค์๊ณผ ๊ฐ์ 3๊ฐ์ง ์ฐ์ฐ๋ง ์ฌ์ฉํด์ ์ด๋ชจํฐ์ฝ์ S๊ฐ ๋ง๋ค์ด ๋ณด๋ ค๊ณ ํ๋ค. ํ๋ฉด์ ์๋ ์ด๋ชจํฐ์ฝ์ ๋ชจ๋ ๋ณต์ฌํด์ ํด๋ฆฝ๋ณด๋์ ์ ์ฅํ๋ค. ํด๋ฆฝ๋ณด๋์ ์๋ ๋ชจ๋ ์ด๋ชจํฐ์ฝ์ ํ๋ฉด์ ๋ถ์ฌ๋ฃ๊ธฐ ํ๋ค. ํ๋ฉด์ ์๋ ์ด๋ชจํฐ์ฝ ์ค ํ๋๋ฅผ ์ญ์ ํ๋ค..
[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 ๊ทธ๋ํ ์ค๋ช ์ฐธ๊ณ ํ๊ธฐ [Algorithm] ๊ทธ๋ํ๋? ๊ทธ๋ํ ํ์์๊ณ ๋ฆฌ์ฆ(DFS,BFS) ๋์ ๊ทธ๋ํ๋ ์ ์ ๊ณผ ๊ฐ์ ์ผ๋ก ๊ตฌ์ฑ๋๋ ์ค์ํ ์๋ฃ๊ตฌ์กฐ์ ๋๋ค. ์ด๋ฒ ์๊ฐ์๋ ๊ทธ๋ํ์ ๋ํ ์ฉ์ด์ ๊ทธ๋ํ๋ฅผ ํํํ๋ ๋ฐฉ๋ฒ ๊ทธ๋ฆฌ๊ณ ๊ทธ๋ํ๋ฅผ ํ์ํ๋ ์๊ณ ๋ฆฌ์ฆ์ ์์๋ณด๊ฒ ์ต๋๋ค. ๊ทธ๋ํ cnu-jinseop.tistory.com BFS๋ ๊ทธ๋ํ์ ํ์์์ ์ฌ์ฉ๋๋ ์๊ณ ๋ฆฌ์ฆ์ ๋๋ค. DFS์ ๋์ผํ๊ฒ ๋ชจ๋ ์ ์ ์ ํ๋ฒ์ฉ๋ง ํ์ธํ ๋ ์ฌ์ฉํฉ๋๋ค. BFS๋ ๋๋น๋ฅผ ์ฐ์ ์ผ๋ก ํ์ํ๋ ๊ธฐ๋ฅ์ ์ํํ๊ธฐ ๋๋ฌธ์ ์ต์๋น์ฉ ๋ฌธ์ ๋ฅผ ํด..
[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 ์ฐ์ฐ ๋๋จธ์ง ์ฐ์ฐ์ ํน์ง (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