์ ์ฒด ๊ธ
-
- [BOJ-3009][C++] ๋ค ๋ฒ์งธ ์
๋ฌธ์ ์ธ ์ ์ด ์ฃผ์ด์ก์ ๋, ์ถ์ ํํํ ์ง์ฌ๊ฐํ์ ๋ง๋ค๊ธฐ ์ํด์ ํ์ํ ๋ค ๋ฒ์งธ ์ ์ ์ฐพ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์์ค. ์ ๋ ฅ ์ธ ์ ์ ์ขํ๊ฐ ํ ์ค์ ํ๋์ฉ ์ฃผ์ด์ง๋ค. ์ขํ๋ 1๋ณด๋ค ํฌ๊ฑฐ๋ ๊ฐ๊ณ , 1000๋ณด๋ค ์๊ฑฐ๋ ๊ฐ์ ์ ์์ด๋ค. ์ถ๋ ฅ ์ง์ฌ๊ฐํ์ ๋ค ๋ฒ์งธ ์ ์ ์ขํ๋ฅผ ์ถ๋ ฅํ๋ค. ์์ ์ ๋ ฅ 1 5 5 5 7 7 5 ์์ ์ถ๋ ฅ 1 7 7 ์์ ์ ๋ ฅ 2 30 20 10 10 10 20 ์์ ์ถ๋ ฅ 2 30 10 ์ถ์ฒ Contest > Croatian Open Competition in Informatics > COCI 2007/2008 > Contest #1 1๋ฒ ์๊ณ ๋ฆฌ์ฆ ๋ถ๋ฅ ๊ตฌํ ๊ธฐํํ ๋ฌธ์ ์ถ์ฒ https://www.acmicpc.net/problem/3009 3009๋ฒ: ๋ค ๋ฒ์งธ ์ ์ธ ์ ์ด ์ฃผ์ด์ก์ ๋,..
2022.11.10 -
- [BOJ-1085][C++] ์ง์ฌ๊ฐํ์์ ํ์ถ
๋ฌธ์ ํ์๋ ์ง๊ธ (x, y)์ ์๋ค. ์ง์ฌ๊ฐํ์ ๊ฐ ๋ณ์ด ์ขํ์ถ์ ํํํ๊ณ , ์ผ์ชฝ ์๋ ๊ผญ์ง์ ์ (0, 0), ์ค๋ฅธ์ชฝ ์ ๊ผญ์ง์ ์ (w, h)์ ์๋ค. ์ง์ฌ๊ฐํ์ ๊ฒฝ๊ณ์ ๊น์ง ๊ฐ๋ ๊ฑฐ๋ฆฌ์ ์ต์๊ฐ์ ๊ตฌํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์์ค. ์ ๋ ฅ ์ฒซ์งธ ์ค์ x, y, w, h๊ฐ ์ฃผ์ด์ง๋ค. ์ถ๋ ฅ ์ฒซ์งธ ์ค์ ๋ฌธ์ ์ ์ ๋ต์ ์ถ๋ ฅํ๋ค. ์ ํ 1 ≤ w, h ≤ 1,000 1 ≤ x ≤ w-1 1 ≤ y ≤ h-1 x, y, w, h๋ ์ ์ ์์ ์ ๋ ฅ 1 6 2 10 3 ์์ ์ถ๋ ฅ 1 1 ์์ ์ ๋ ฅ 2 1 1 5 5 ์์ ์ถ๋ ฅ 2 1 ์์ ์ ๋ ฅ 3 653 375 1000 1000 ์์ ์ถ๋ ฅ 3 347 ์์ ์ ๋ ฅ 4 161 181 762 375 ์์ ์ถ๋ ฅ 4 161 ์๊ณ ๋ฆฌ์ฆ ๋ถ๋ฅ ์ํ ๊ธฐํํ ๋ฌธ์ ์ถ์ฒ https://www.ac..
2022.11.10 -
- [BOJ-4358][C++] ์ํํ
๋ฌธ์ ์ํํ์์ ๋๋ฌด์ ๋ถํฌ๋๋ฅผ ์ธก์ ํ๋ ๊ฒ์ ์ค์ํ๋ค. ๊ทธ๋ฌ๋ฏ๋ก ๋น์ ์ ๋ฏธ๊ตญ ์ ์ญ์ ๋๋ฌด๋ค์ด ์ฃผ์ด์ก์ ๋, ๊ฐ ์ข ์ด ์ ์ฒด์์ ๋ช %๋ฅผ ์ฐจ์งํ๋์ง ๊ตฌํ๋ ํ๋ก๊ทธ๋จ์ ๋ง๋ค์ด์ผ ํ๋ค. ์ ๋ ฅ ํ๋ก๊ทธ๋จ์ ์ฌ๋ฌ ์ค๋ก ์ด๋ฃจ์ด์ ธ ์์ผ๋ฉฐ, ํ ์ค์ ํ๋์ ๋๋ฌด ์ข ์ด๋ฆ์ด ์ฃผ์ด์ง๋ค. ์ด๋ค ์ข ์ด๋ฆ๋ 30๊ธ์๋ฅผ ๋์ง ์์ผ๋ฉฐ, ์ ๋ ฅ์๋ ์ต๋ 10,000๊ฐ์ ์ข ์ด ์ฃผ์ด์ง๊ณ ์ต๋ 1,000,000๊ทธ๋ฃจ์ ๋๋ฌด๊ฐ ์ฃผ์ด์ง๋ค. ์ถ๋ ฅ ์ฃผ์ด์ง ๊ฐ ์ข ์ ์ด๋ฆ์ ์ฌ์ ์์ผ๋ก ์ถ๋ ฅํ๊ณ , ๊ทธ ์ข ์ด ์ฐจ์งํ๋ ๋น์จ์ ๋ฐฑ๋ถ์จ๋ก ์์์ 4์งธ์๋ฆฌ๊น์ง ๋ฐ์ฌ๋ฆผํด ํจ๊ป ์ถ๋ ฅํ๋ค. ์์ ์ ๋ ฅ 1 Red Alder Ash Aspen Basswood Ash Beech Yellow Birch Ash Cherry Cottonwood Ash Cypress Red Elm ..
2022.11.09 -
- [BOJ-11478][C++] ์๋ก ๋ค๋ฅธ ๋ถ๋ถ ๋ฌธ์์ด์ ๊ฐ์
๋ฌธ์ ๋ฌธ์์ด S๊ฐ ์ฃผ์ด์ก์ ๋, S์ ์๋ก ๋ค๋ฅธ ๋ถ๋ถ ๋ฌธ์์ด์ ๊ฐ์๋ฅผ ๊ตฌํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์์ค. ๋ถ๋ถ ๋ฌธ์์ด์ S์์ ์ฐ์๋ ์ผ๋ถ๋ถ์ ๋งํ๋ฉฐ, ๊ธธ์ด๊ฐ 1๋ณด๋ค ํฌ๊ฑฐ๋ ๊ฐ์์ผ ํ๋ค. ์๋ฅผ ๋ค์ด, ababc์ ๋ถ๋ถ ๋ฌธ์์ด์ a, b, a, b, c, ab, ba, ab, bc, aba, bab, abc, abab, babc, ababc๊ฐ ์๊ณ , ์๋ก ๋ค๋ฅธ๊ฒ์ ๊ฐ์๋ 12๊ฐ์ด๋ค. ์ ๋ ฅ ์ฒซ์งธ ์ค์ ๋ฌธ์์ด S๊ฐ ์ฃผ์ด์ง๋ค. S๋ ์ํ๋ฒณ ์๋ฌธ์๋ก๋ง ์ด๋ฃจ์ด์ ธ ์๊ณ , ๊ธธ์ด๋ 1,000 ์ดํ์ด๋ค. ์ถ๋ ฅ ์ฒซ์งธ ์ค์ S์ ์๋ก ๋ค๋ฅธ ๋ถ๋ถ ๋ฌธ์์ด์ ๊ฐ์๋ฅผ ์ถ๋ ฅํ๋ค. ์์ ์ ๋ ฅ 1 ababc ์์ ์ถ๋ ฅ 1 12 ์๊ณ ๋ฆฌ์ฆ ๋ถ๋ฅ ์๋ฃ ๊ตฌ์กฐ ๋ฌธ์์ด ํด์๋ฅผ ์ฌ์ฉํ ์งํฉ๊ณผ ๋งต ํธ๋ฆฌ๋ฅผ ์ฌ์ฉํ ์งํฉ๊ณผ ๋งต ๋ฌธ์ ์ถ์ฒ https://www.a..
2022.11.09 -
- [BOJ-1269][C++] ๋์นญ ์ฐจ์งํฉ
๋ฌธ์ ์์ฐ์๋ฅผ ์์๋ก ๊ฐ๋ ๊ณต์งํฉ์ด ์๋ ๋ ์งํฉ A์ B๊ฐ ์๋ค. ์ด๋, ๋ ์งํฉ์ ๋์นญ ์ฐจ์งํฉ์ ์์์ ๊ฐ์๋ฅผ ์ถ๋ ฅํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์์ค. ๋ ์งํฉ A์ B๊ฐ ์์ ๋, (A-B)์ (B-A)์ ํฉ์งํฉ์ A์ B์ ๋์นญ ์ฐจ์งํฉ์ด๋ผ๊ณ ํ๋ค. ์๋ฅผ ๋ค์ด, A = { 1, 2, 4 } ์ด๊ณ , B = { 2, 3, 4, 5, 6 } ๋ผ๊ณ ํ ๋, A-B = { 1 } ์ด๊ณ , B-A = { 3, 5, 6 } ์ด๋ฏ๋ก, ๋์นญ ์ฐจ์งํฉ์ ์์์ ๊ฐ์๋ 1 + 3 = 4๊ฐ์ด๋ค. ์ ๋ ฅ ์ฒซ์งธ ์ค์ ์งํฉ A์ ์์์ ๊ฐ์์ ์งํฉ B์ ์์์ ๊ฐ์๊ฐ ๋น ์นธ์ ์ฌ์ด์ ๋๊ณ ์ฃผ์ด์ง๋ค. ๋์งธ ์ค์๋ ์งํฉ A์ ๋ชจ๋ ์์๊ฐ, ์ ์งธ ์ค์๋ ์งํฉ B์ ๋ชจ๋ ์์๊ฐ ๋น ์นธ์ ์ฌ์ด์ ๋๊ณ ๊ฐ๊ฐ ์ฃผ์ด์ง๋ค. ๊ฐ ์งํฉ์ ์์์ ๊ฐ์๋ 200..
2022.11.09 -
- [BOJ-1764][C++] ๋ฃ๋ณด์ก
๋ฌธ์ ๊น์ง์์ด ๋ฃ๋ ๋ชปํ ์ฌ๋์ ๋ช ๋จ๊ณผ, ๋ณด๋ ๋ชปํ ์ฌ๋์ ๋ช ๋จ์ด ์ฃผ์ด์ง ๋, ๋ฃ๋ ๋ณด๋ ๋ชปํ ์ฌ๋์ ๋ช ๋จ์ ๊ตฌํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์์ค. ์ ๋ ฅ ์ฒซ์งธ ์ค์ ๋ฃ๋ ๋ชปํ ์ฌ๋์ ์ N, ๋ณด๋ ๋ชปํ ์ฌ๋์ ์ M์ด ์ฃผ์ด์ง๋ค. ์ด์ด์ ๋์งธ ์ค๋ถํฐ N๊ฐ์ ์ค์ ๊ฑธ์ณ ๋ฃ๋ ๋ชปํ ์ฌ๋์ ์ด๋ฆ๊ณผ, N+2์งธ ์ค๋ถํฐ ๋ณด๋ ๋ชปํ ์ฌ๋์ ์ด๋ฆ์ด ์์๋๋ก ์ฃผ์ด์ง๋ค. ์ด๋ฆ์ ๋์ด์ฐ๊ธฐ ์์ด ์ํ๋ฒณ ์๋ฌธ์๋ก๋ง ์ด๋ฃจ์ด์ง๋ฉฐ, ๊ทธ ๊ธธ์ด๋ 20 ์ดํ์ด๋ค. N, M์ 500,000 ์ดํ์ ์์ฐ์์ด๋ค. ๋ฃ๋ ๋ชปํ ์ฌ๋์ ๋ช ๋จ์๋ ์ค๋ณต๋๋ ์ด๋ฆ์ด ์์ผ๋ฉฐ, ๋ณด๋ ๋ชปํ ์ฌ๋์ ๋ช ๋จ๋ ๋ง์ฐฌ๊ฐ์ง์ด๋ค. ์ถ๋ ฅ ๋ฃ๋ณด์ก์ ์์ ๊ทธ ๋ช ๋จ์ ์ฌ์ ์์ผ๋ก ์ถ๋ ฅํ๋ค. ์์ ์ ๋ ฅ 1 ๋ณต์ฌ 3 4 ohhenrie charlie baesangwook obama baesan..
2022.11.09 -
- [BOJ-1620][C++] ์ซ์ ์นด๋ 2
๋ฌธ์ ์ซ์ ์นด๋๋ ์ ์ ํ๋๊ฐ ์ ํ์ ธ ์๋ ์นด๋์ด๋ค. ์๊ทผ์ด๋ ์ซ์ ์นด๋ N๊ฐ๋ฅผ ๊ฐ์ง๊ณ ์๋ค. ์ ์ M๊ฐ๊ฐ ์ฃผ์ด์ก์ ๋, ์ด ์๊ฐ ์ ํ์๋ ์ซ์ ์นด๋๋ฅผ ์๊ทผ์ด๊ฐ ๋ช ๊ฐ ๊ฐ์ง๊ณ ์๋์ง ๊ตฌํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์์ค. ์ ๋ ฅ ์ฒซ์งธ ์ค์ ์๊ทผ์ด๊ฐ ๊ฐ์ง๊ณ ์๋ ์ซ์ ์นด๋์ ๊ฐ์ N(1 ≤ N ≤ 500,000)์ด ์ฃผ์ด์ง๋ค. ๋์งธ ์ค์๋ ์ซ์ ์นด๋์ ์ ํ์๋ ์ ์๊ฐ ์ฃผ์ด์ง๋ค. ์ซ์ ์นด๋์ ์ ํ์๋ ์๋ -10,000,000๋ณด๋ค ํฌ๊ฑฐ๋ ๊ฐ๊ณ , 10,000,000๋ณด๋ค ์๊ฑฐ๋ ๊ฐ๋ค. ์ ์งธ ์ค์๋ M(1 ≤ M ≤ 500,000)์ด ์ฃผ์ด์ง๋ค. ๋ท์งธ ์ค์๋ ์๊ทผ์ด๊ฐ ๋ช ๊ฐ ๊ฐ์ง๊ณ ์๋ ์ซ์ ์นด๋์ธ์ง ๊ตฌํด์ผ ํ M๊ฐ์ ์ ์๊ฐ ์ฃผ์ด์ง๋ฉฐ, ์ด ์๋ ๊ณต๋ฐฑ์ผ๋ก ๊ตฌ๋ถ๋์ด์ ธ ์๋ค. ์ด ์๋ -10,000,000๋ณด๋ค ํฌ๊ฑฐ๋ ๊ฐ๊ณ , 10,0..
2022.11.09 -
- [BOJ-1620][C++] ๋๋์ผ ํฌ์ผ๋ชฌ ๋ง์คํฐ ์ด๋ค์
๋ฌธ์ ์๋ ? ๋ด ์ด๋ฆ์ ์ด๋ค์. ๋์ ๊ฟ์ ํฌ์ผ๋ชฌ ๋ง์คํฐ์ผ. ์ผ๋จ ํฌ์ผ๋ชฌ ๋ง์คํฐ๊ฐ ๋๊ธฐ ์ํด์ ํฌ์ผ๋ชฌ์ ํ ๋ง๋ฆฌ ์ก์์ผ๊ฒ ์ง? ๊ทผ์ฒ ์ฒ์ผ๋ก ๊ฐ์ผ๊ฒ ์ด. (๋๋ฒ ๋๋ฒ ) ์! ๊ผฌ๋ ์ด๋ค. ๊ผฌ๋ ? ๊ท์ฌ์ด๋ฐ, ๋์ ์ฒซ ํฌ์ผ๋ชฌ์ผ๋ก ๋ฑ ์ด์ธ๋ฆฐ๋ฐ? ๋ด๊ฐ ์ก๊ณ ๋ง๊ฒ ์ด. ๊ฐ๋ผ! ๋ชฌ์คํฐ๋ณผ~ (ํ!) ํ๋ญ... ์ ์ ์กํ์ง?ใ ใ ๋ชฌ์คํฐ ๋ณผ๋ง ๋์ง๋ฉด ๋๋ ๊ฒ ์๋๊ฐ...ใ ใ (ํฐ๋ฒ ํฐ๋ฒ ) ์ด? ๋๊ตฌ์ง? ์ค๋ฐ์ฌ : ๋๋ ํ์ด๋ง์์ ํฌ์ผ๋ชฌ ๋ฐ์ฌ ์ค๋ฏผ์ ๋ฐ์ฌ๋ผ๋ค. ๋ค์์, ํฌ์ผ๋ชฌ์ ์ก์ ๋๋, ์ผ๋จ ์๋ ํฌ์ผ๋ชฌ์ ์ฒด๋ ฅ์ ์ ๋นํ ๋ฐ๋ฅ์ผ๋ก ๋ง๋ค์ด๋๊ณ ๋ชฌ์คํฐ ๋ณผ์ ๋์ ธ์ผ ํ๋จ๋ค. ์, ๋ด ํฌ์ผ๋ชฌ ์ด์ํด๊ฝ์ผ๋ก ํ๋ฒ ์ก์๋ณด๋ ด. ํฌ์ผ๋ชฌ์ ๊ธฐ์ ์ ์ฐ๋ ๊ฒ์ ๋ณด๊ณ ํฌ์ผ๋ชฌ์ ์ค์ง ์์ค์ง ๊ฒฐ์ ์ ํ๊ฒ ๋ค. ์ ํ๋ฒ ํด๋ณด์๋ผ. ๋ค์์. ์ด๋ค์ : ์ด์ํด๊ฝ์ด..
2022.11.09 -
- [BOJ-14425][C++] ๋ฌธ์์ด ์งํฉ
๋ฌธ์ ์ด N๊ฐ์ ๋ฌธ์์ด๋ก ์ด๋ฃจ์ด์ง ์งํฉ S๊ฐ ์ฃผ์ด์ง๋ค. ์ ๋ ฅ์ผ๋ก ์ฃผ์ด์ง๋ M๊ฐ์ ๋ฌธ์์ด ์ค์์ ์งํฉ S์ ํฌํจ๋์ด ์๋ ๊ฒ์ด ์ด ๋ช ๊ฐ์ธ์ง ๊ตฌํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์์ค. ์ ๋ ฅ ์ฒซ์งธ ์ค์ ๋ฌธ์์ด์ ๊ฐ์ N๊ณผ M (1 ≤ N ≤ 10,000, 1 ≤ M ≤ 10,000)์ด ์ฃผ์ด์ง๋ค. ๋ค์ N๊ฐ์ ์ค์๋ ์งํฉ S์ ํฌํจ๋์ด ์๋ ๋ฌธ์์ด๋ค์ด ์ฃผ์ด์ง๋ค. ๋ค์ M๊ฐ์ ์ค์๋ ๊ฒ์ฌํด์ผ ํ๋ ๋ฌธ์์ด๋ค์ด ์ฃผ์ด์ง๋ค. ์ ๋ ฅ์ผ๋ก ์ฃผ์ด์ง๋ ๋ฌธ์์ด์ ์ํ๋ฒณ ์๋ฌธ์๋ก๋ง ์ด๋ฃจ์ด์ ธ ์์ผ๋ฉฐ, ๊ธธ์ด๋ 500์ ๋์ง ์๋๋ค. ์งํฉ S์ ๊ฐ์ ๋ฌธ์์ด์ด ์ฌ๋ฌ ๋ฒ ์ฃผ์ด์ง๋ ๊ฒฝ์ฐ๋ ์๋ค. ์ถ๋ ฅ ์ฒซ์งธ ์ค์ M๊ฐ์ ๋ฌธ์์ด ์ค์ ์ด ๋ช ๊ฐ๊ฐ ์งํฉ S์ ํฌํจ๋์ด ์๋์ง ์ถ๋ ฅํ๋ค. ์์ ์ ๋ ฅ 1 5 11 baekjoononlinejudge startlin..
2022.11.09 -
- [BOJ-10815][C++] ์ซ์ ์นด๋
๋ฌธ์ ์ซ์ ์นด๋๋ ์ ์ ํ๋๊ฐ ์ ํ์ ธ ์๋ ์นด๋์ด๋ค. ์๊ทผ์ด๋ ์ซ์ ์นด๋ N๊ฐ๋ฅผ ๊ฐ์ง๊ณ ์๋ค. ์ ์ M๊ฐ๊ฐ ์ฃผ์ด์ก์ ๋, ์ด ์๊ฐ ์ ํ์๋ ์ซ์ ์นด๋๋ฅผ ์๊ทผ์ด๊ฐ ๊ฐ์ง๊ณ ์๋์ง ์๋์ง๋ฅผ ๊ตฌํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์์ค. ์ ๋ ฅ ์ฒซ์งธ ์ค์ ์๊ทผ์ด๊ฐ ๊ฐ์ง๊ณ ์๋ ์ซ์ ์นด๋์ ๊ฐ์ N(1 ≤ N ≤ 500,000)์ด ์ฃผ์ด์ง๋ค. ๋์งธ ์ค์๋ ์ซ์ ์นด๋์ ์ ํ์๋ ์ ์๊ฐ ์ฃผ์ด์ง๋ค. ์ซ์ ์นด๋์ ์ ํ์๋ ์๋ -10,000,000๋ณด๋ค ํฌ๊ฑฐ๋ ๊ฐ๊ณ , 10,000,000๋ณด๋ค ์๊ฑฐ๋ ๊ฐ๋ค. ๋ ์ซ์ ์นด๋์ ๊ฐ์ ์๊ฐ ์ ํ์๋ ๊ฒฝ์ฐ๋ ์๋ค. ์ ์งธ ์ค์๋ M(1 ≤ M ≤ 500,000)์ด ์ฃผ์ด์ง๋ค. ๋ท์งธ ์ค์๋ ์๊ทผ์ด๊ฐ ๊ฐ์ง๊ณ ์๋ ์ซ์ ์นด๋์ธ์ง ์๋์ง๋ฅผ ๊ตฌํด์ผ ํ M๊ฐ์ ์ ์๊ฐ ์ฃผ์ด์ง๋ฉฐ, ์ด ์๋ ๊ณต๋ฐฑ์ผ๋ก ๊ตฌ๋ถ๋์ด์ ธ ์๋ค. ์ด..
2022.11.09 -
- [C++] multiset(์ค๋ณต ์งํฉ)
multiset(์ค๋ณต ์งํฉ) ํน์ง์ฐ๊ด ์ปจํ ์ด๋(Associative Container) ์ค ํ๋์ด๋ค.์ฐ๊ด ์ปจํ ์ด๋์๋ set, multiset, map, multimap ์ด ์๋ค.set๊ณผ ๋น์ทํ์ง๋ง, ์ค๋ณต๋ ํค(Key)๋ฅผ ๋ฃ์ ์ ์๋ค๋ ์ฐจ์ด์ ์ด ์๋ค.์ฝ์ ๋ ์์๋ค์ ๊ธฐ๋ณธ์ ์ผ๋ก ์ค๋ฆ์ฐจ์(less)์ผ๋ก ์ ๋ ฌ๋๋ค. ํค๋ ํ์ผmultiset์ ์ฌ์ฉํ๋ ค๋ฉด ๋ค์์ ํค๋ ํ์ผ์ ๋ถ๋ฌ์์ผ ํ๋ค.#include ๋ฉค๋ฒ ํจ์ ์ฌ์ฉ ๋ฐฉ๋ฒset๊ณผ ์ฌ์ฉ ๋ฐฉ๋ฒ์ด ๋น์ทํ๋ค.๋ฐ๋ก๊ฐ๊ธฐ : https://dev-astra.tistory.com/247 [C++] set(์งํฉ)set(์งํฉ) ํน์ง ์ฐ๊ด ์ปจํ ์ด๋(Associative Container) ์ค ํ๋์ด๋ค. ์ฐ๊ด ์ปจํ ์ด๋์๋ set, multiset, map, multimap ์ด ..
2022.11.09 -
- [C++] set(์งํฉ)
set(์งํฉ) ํน์ง์ฐ๊ด ์ปจํ ์ด๋(Associative Container) ์ค ํ๋์ด๋ค.์ฐ๊ด ์ปจํ ์ด๋์๋ set, multiset, map, multimap ์ด ์๋ค.ํน์ ์์์ ๋ฐ๋ผ ๊ณ ์ ํ ์์๋ฅผ ์ ์ฅํ๋ ์ปจํ ์ด๋์ด๋ค.๊ธฐ๋ณธ์ ์ผ๋ก ์์๋ค์ ์ค๋ฆ์ฐจ์(less)์ผ๋ก ์ ๋ ฌ๋์ด ์ฝ์ ๋๋ค.์ค๋ณต๋๋ ์์๋ ์๊ณ , ์ค๋ก์ง ํฌ์ํ(Unique) ๊ฐ๋ง ์ ์ฅ๋๋ค.map๊ณผ ๊ฑฐ์ ๋์ผํ์ง๋ง, set์ map๊ณผ ๋ค๋ฅด๊ฒ ํค(Key)์ ๊ฐ(Value)์ด ๊ฐ๋ค๊ณ ์๊ฐํ๋ฉด ๋๋ค.ํค(Key)๋ผ ๋ถ๋ฆฌ๋ ์์๋ค์ ์งํฉ์ผ๋ก ์ด๋ฃจ์ด์ง ์ปจํ ์ด๋๋ผ๊ณ ์๊ฐํ๋ฉด ๋๋ค.๋ ธ๋ ๊ธฐ๋ฐ ์ปจํ ์ด๋์ด๋ฉฐ, ๊ท ํ ์ด์ง ํธ๋ฆฌ๋ก ๊ตฌํ๋์ด ์๋ค.์ดํฐ๋ ์ดํฐ(Iterator)๋ ์๋์ผ๋ก ์ค์ ์ํ(Inordered Traversal)๋ฅผ ํตํ์ฌ ์์๋๋ก ํค(Key)๋ฅผ ์ถ๋ ฅํ๋ค...
2022.11.08 -
- [C++] multimap(๋ฉํฐ ๋งต)
multimap(๋ฉํฐ ๋งต) ํน์งmap๊ณผ ๊ฑฐ์ ๋์ผํ์ง๋ง, ํค(Key) ๊ฐ์ด ์ค๋ณต ๊ฐ๋ฅํ ์ปจํ ์ด๋ ํค(Key)์ ๊ฐ(Value)์ด ์ฝ์ ๋ ๋, ํค(Key)๊ฐ ์ ๋ ฌ์ด ๋๋ฉด์ ์ฝ์ ๋๋ค. ํค๋ ํ์ผ๋ฉํฐ ๋งต์ ์ฌ์ฉํ๋ ค๋ฉด ๋ค์์ ํค๋ ํ์ผ์ ๋ถ๋ฌ์์ผ ํ๋ค.#include ๋ฉค๋ฒ ํจ์ ์ฌ์ฉ ๋ฐฉ๋ฒmap๊ณผ ์ฌ์ฉ ๋ฐฉ๋ฒ์ด ๋น์ทํ๋ค.๋ฐ๋ก๊ฐ๊ธฐ : https://dev-astra.tistory.com/244 [C++] ๋งต(Map)๋งต(Map) ํน์ง ์ฐ๊ด ์ปจํ ์ด๋(Associative Container) ์ค ํ๋์ด๋ค. ์ฐ๊ด ์ปจํ ์ด๋์๋ set, multiset, map, multimap ์ด ์๋ค. string : int ํํ๋ก ๊ฐ์ ํ ๋นํด์ผ ํ ๋ ๋งต์ ์ฌ์ฉํ๋ค. ํค(Key)์ ๊ฐ(Value) ํํ๋ก ์ด๋ฃจdev-astra.tisto..
2022.11.08 -
- [C++] unordered_map
unordered_map ํน์งmap๋ณด๋ค ๋ ๋น ๋ฅธ ํ์์ ํ๊ธฐ ์ํ ์ปจํ ์ด๋ํด์ ํ ์ด๋ธ(Hash Table)์ ๊ธฐ๋ฐ์ผ๋ก ๊ตฌํ๋์๋ค.์ฝ์ , ์ญ์ , ํ์์ ๋ํด์ $O(1)$ ์ ๋์ ์๊ฐ ๋ณต์ก๋๋ฅผ ๊ฐ์ง๋ค. ๊ฐ์ฅ ์ต์ ์ ๊ฒฝ์ฐ $O(N)$ ์ ๋์ ์๊ฐ ๋ณต์ก๋๋ฅผ ๊ฐ์ง๋ค.map์ ์ฝ์ , ์ญ์ ํ์ ์๊ฐ ๋ณต์ก๋๋ $O(\log n)$ ์ด๋ค.์ค๋ณต๋ ๋ฐ์ดํฐ๋ฅผ ํ์ฉํ์ง ์๋๋ค.map์ ๋นํด ๋ฐ์ดํฐ๊ฐ ๋ง์ ๊ฒฝ์ฐ ์๋ฑํ ์ข์ ์ฑ๋ฅ์ ๋ณด์ธ๋ค.ํ์ง๋ง, ํค(Key)๊ฐ ์ ์ฌํ ๋ฐ์ดํฐ๊ฐ ๋ง์ ๊ฒฝ์ฐ, ํด์ ์ถฉ๋๋ก ์ธํด ์ฑ๋ฅ์ด ๋จ์ด์ง ์๋ ์๋ค. ํค๋ ํ์ผunordered_map์ ์ฌ์ฉํ๋ ค๋ฉด ๋ค์์ ํค๋ ํ์ผ์ ๋ถ๋ฌ์์ผ ํ๋ค.#include ๋ฉค๋ฒ ํจ์ ์ฌ์ฉ ๋ฐฉ๋ฒ์์๊ฐ ์ฝ์ ๋ ๋ ํค(Key)๊ฐ ์ ๋ ฌ๋์ง ์๋๋ค๋ ๊ฒ์ ๋นผ๊ณ ๋ map๊ณผ ์ฌ์ฉ..
2022.11.08 -
- [C++] map(๋งต)
map(๋งต) ํน์ง์ฐ๊ด ์ปจํ ์ด๋(Associative Container) ์ค ํ๋์ด๋ค.์ฐ๊ด ์ปจํ ์ด๋์๋ set, multiset, map, multimap ์ด ์๋ค.string : int ํํ๋ก ๊ฐ์ ํ ๋นํด์ผ ํ ๋ ๋งต์ ์ฌ์ฉํ๋ค.ํค(Key)์ ๊ฐ(Value) ํํ๋ก ์ด๋ฃจ์ด์ ธ ์๊ณ , ๋ ๋-๋ธ๋ ํธ๋ฆฌ(Red-Black Tree)๋ผ๋ ๊ตฌ์กฐ๋ฅผ ๋ด์ฅํ๊ณ ์๋ค.๋ ธ๋ ๊ธฐ๋ฐ์ผ๋ก ์ด๋ฃจ์ด์ ธ ์๊ณ , ๊ท ํ ์ด์ง ํธ๋ฆฌ ๊ตฌ์กฐ์ด๋ค.pair ๊ฐ์ฒด ํํ๋ก ํค(Key)์ ๊ฐ(Value)์ด ์ ์ฅ๋๋ค.Key๋ ๊ณ ์ ํ ๊ฐ์ด๋ฏ๋ก ์ค๋ณต์ด ๋ถ๊ฐ๋ฅํ๋ค.์ค๋ณต Key๋ฅผ ์ฌ์ฉํ๋ ค๋ฉด multimap์ ์ฌ์ฉํ๋ฉด ๋๋ค.์ฝ์ , ์ญ์ , ํ์์ ๋ํด์ $O(logN)$ ์ ๋์ ์๊ฐ ๋ณต์ก๋๋ฅผ ๊ฐ์ง๋ค.์งํฉ(Set)๊ณผ ๋ง์ฐฌ๊ฐ์ง๋ก ์ฝ์ ์ด ๋๋ฉด์ ์๋์ผ๋ก ์ ๋ ฌ์ด ๋๋ค.๋ฐ์ด..
2022.11.08 -
- [BOJ-1436][C++] ์ํ๊ฐ๋ ์
๋ฌธ์ 666์ ์ข ๋ง์ ๋ํ๋ด๋ ์ซ์๋ผ๊ณ ํ๋ค. ๋ฐ๋ผ์, ๋ง์ ๋ธ๋ก๋ฒ์คํฐ ์ํ์์๋ 666์ด ๋ค์ด๊ฐ ์ ๋ชฉ์ ๋ง์ด ์ฌ์ฉํ๋ค. ์ํ๊ฐ๋ ์์ ์ธ์์ ์ข ๋ง ์ด๋ผ๋ ์๋ฆฌ์ฆ ์ํ์ ๊ฐ๋ ์ด๋ค. ์กฐ์ง ๋ฃจ์นด์ค๋ ์คํ์์ฆ๋ฅผ ๋ง๋ค ๋, ์คํ์์ฆ 1, ์คํ์์ฆ 2, ์คํ์์ฆ 3, ์คํ์์ฆ 4, ์คํ์์ฆ 5, ์คํ์์ฆ 6๊ณผ ๊ฐ์ด ์ด๋ฆ์ ์ง์๊ณ , ํผํฐ ์ญ์จ์ ๋ฐ์ง์ ์ ์์ ๋ง๋ค ๋, ๋ฐ์ง์ ์ ์ 1, ๋ฐ์ง์ ์ ์ 2, ๋ฐ์ง์ ์ ์ 3๊ณผ ๊ฐ์ด ์ํ ์ ๋ชฉ์ ์ง์๋ค. ํ์ง๋ง ์์ ์์ ์ด ์กฐ์ง ๋ฃจ์นด์ค์ ํผํฐ ์ญ์จ์ ๋ฐ์ด๋๋๋ค๋ ๊ฒ์ ๋ณด์ฌ์ฃผ๊ธฐ ์ํด์ ์ํ ์ ๋ชฉ์ ์ข ๋ค๋ฅด๊ฒ ๋ง๋ค๊ธฐ๋ก ํ๋ค. ์ข ๋ง์ ์ซ์๋ ์ด๋ค ์์ 6์ด ์ ์ด๋ 3๊ฐ์ด์ ์ฐ์์ผ๋ก ๋ค์ด๊ฐ๋ ์๋ฅผ ๋งํ๋ค. ์ ์ผ ์์ ์ข ๋ง์ ์ซ์๋ 666์ด๊ณ , ๊ทธ ๋ค์์ผ๋ก ํฐ ์๋ 1666, 2..
2022.11.08 -
- [BOJ-1018][C++] ์ฒด์คํ ๋ค์ ์น ํ๊ธฐ
๋ฌธ์ ์ง๋ฏผ์ด๋ ์์ ์ ์ ํ์์ MN๊ฐ์ ๋จ์ ์ ์ฌ๊ฐํ์ผ๋ก ๋๋์ด์ ธ ์๋ M×N ํฌ๊ธฐ์ ๋ณด๋๋ฅผ ์ฐพ์๋ค. ์ด๋ค ์ ์ฌ๊ฐํ์ ๊ฒ์์์ผ๋ก ์น ํด์ ธ ์๊ณ , ๋๋จธ์ง๋ ํฐ์์ผ๋ก ์น ํด์ ธ ์๋ค. ์ง๋ฏผ์ด๋ ์ด ๋ณด๋๋ฅผ ์๋ผ์ 8×8 ํฌ๊ธฐ์ ์ฒด์คํ์ผ๋ก ๋ง๋ค๋ ค๊ณ ํ๋ค. ์ฒด์คํ์ ๊ฒ์์๊ณผ ํฐ์์ด ๋ฒ๊ฐ์์ ์น ํด์ ธ ์์ด์ผ ํ๋ค. ๊ตฌ์ฒด์ ์ผ๋ก, ๊ฐ ์นธ์ด ๊ฒ์์๊ณผ ํฐ์ ์ค ํ๋๋ก ์์น ๋์ด ์๊ณ , ๋ณ์ ๊ณต์ ํ๋ ๋ ๊ฐ์ ์ฌ๊ฐํ์ ๋ค๋ฅธ ์์ผ๋ก ์น ํด์ ธ ์์ด์ผ ํ๋ค. ๋ฐ๋ผ์ ์ด ์ ์๋ฅผ ๋ฐ๋ฅด๋ฉด ์ฒด์คํ์ ์์น ํ๋ ๊ฒฝ์ฐ๋ ๋ ๊ฐ์ง๋ฟ์ด๋ค. ํ๋๋ ๋งจ ์ผ์ชฝ ์ ์นธ์ด ํฐ์์ธ ๊ฒฝ์ฐ, ํ๋๋ ๊ฒ์์์ธ ๊ฒฝ์ฐ์ด๋ค. ๋ณด๋๊ฐ ์ฒด์คํ์ฒ๋ผ ์น ํด์ ธ ์๋ค๋ ๋ณด์ฅ์ด ์์ด์, ์ง๋ฏผ์ด๋ 8×8 ํฌ๊ธฐ์ ์ฒด์คํ์ผ๋ก ์๋ผ๋ธ ํ์ ๋ช ๊ฐ์ ์ ์ฌ๊ฐํ์ ๋ค์ ์น ํด์ผ๊ฒ ๋ค๊ณ ์๊ฐํ๋ค. ๋น์ฐํ 8..
2022.11.07 -
- [ํ๋ฅ ๊ณผ ํต๊ณ] ์ด์ฐ ํ๋ฅ ๋ณ์
์ด์ฐ ํ๋ฅ ๋ณ์ ์ด์ฐ ํ๋ฅ ๋ณ์์ ์๋ฏธ ๋์ ์ ๋ ๋ฒ ๋์ง๋ ๊ฒ์์์ ์๋ฉด์ด ๋์จ ํ์๋ฅผ `X` ๋ก ๋ํ๋ด๋ฉด, `X` ๋ฅผ ์ด์ฉํ์ฌ ์๋ฉด์ด ๋์จ ํ์๋ผ๋ ํน์ฑ์ ๋ฐ๋ผ ๊ตฌ๋ถ๋ ์ฌ๊ฑด์ ๋ค์๊ณผ ๊ฐ์ด ๊ฐ๋จํ ํํํ ์ ์๋ค. $$ \eqalign{ \{ HH \} &\Leftrightarrow X = 2 \\ \{ HT, TH \} &\Leftrightarrow X = 1 \\ \{ TT \} &\Leftrightarrow X = 0}$$ ๊ทธ๋ฌ๋ฏ๋ก ์๋ฉด์ด ๋์จ ํ์์ธ `X` ๋ ์๋์ ๊ฐ์ด ํ๋ณธ ๊ณต๊ฐ `S` ์์ ์ค์ ์ ์ฒด์ ์งํฉ `R` ๋ก์ ํจ์๋ก ์๊ฐํ ์ ์๋ค. ์ด ๋ ์๋ฉด์ด ๋์จ ํ์์ธ `X` ๋ฅผ ํ๋ฅ ๋ณ์(Random Variable)๋ผ๊ณ ํ๋ค. ํ๋ฅ ๋ณ์(Random Variable) ํ๋ณธ ๊ณต๊ฐ `S`..
2022.11.07 -
- [์ด์ฐ ์ํ] ๋์น ๊ด๊ณ์ ๋ถ๋ถ ์์ ๊ด๊ณ
๋์น ๊ด๊ณ์ ๋ถ๋ถ ์์ ๊ด๊ณ ๊ด๊ณ `R` ์ด ์ด๋ค ์ฑ์ง์ ๊ฐ๋๋์ ๋ฐ๋ผ ๊ด๊ณ์ ์๋ฏธ๋ฅผ ๋ถ์ฌํ์ฌ ๊ทธ ์๋ฏธ์ ๋ฐ๋ผ ๊ด๊ณ์ ์์์์ ๊ตฌ์ฑํ๋ ์์๋ค์ ํ์ฉํ ์ ์๋ค. ๊ด๊ณ์ ๋ถ์ฌ๋๋ ์๋ฏธ์๋ ๋์น ๊ด๊ณ๋ ๋ถ๋ถ ์์ ๊ด๊ณ๊ฐ ์๋๋ฐ, ๋์น ๊ด๊ณ์ ๊ฒฝ์ฐ ๊ทธ ๊ด๊ณ์ ์์์์ ๊ตฌ์ฑํ๋ ์์๋ค์ด ๊ฐ์ ์๋ฏธ๋ผ๋ ๊ฒ์ ๋ปํ๋ฉฐ, ๋ถ๋ถ ์์ ๊ด๊ณ์ ๊ฒฝ์ฐ๋ ๊ทธ ๊ด๊ณ์ ์์์์ ๊ตฌ์ฑํ๋ ์์๋ค ์ฌ์ด์ ์์๊ฐ ์กด์ฌํ๋ค๋ ๊ฒ์ ๋ปํ๋ค. ๋์น ๊ด๊ณ(Equivalence Relation) ๋ฐ์ฌ ๊ด๊ณ, ๋์นญ ๊ด๊ณ, ์ถ์ด ๊ด๊ณ๊ฐ ๋ชจ๋ ์ฑ๋ฆฝํ๋ ๊ด๊ณ ๋์น๋ ํํ์ด ๋ฌ๋ผ๋ ์๋ฏธ๊ฐ ๊ฐ์์ ๋๋ฑํ๊ฒ ์ฌ์ฉํ ์ ์์์ ์๋ฏธํ๋ค. ์) 10์ง์ $7_{10}$ ๊ณผ 2์ง์ $111_{2}$ ์ด ํํ์ ๋ค๋ฅด์ง๋ง ๊ฐ์ ๊ฐ์ผ๋ก ์ฌ์ฉ๋๋ฏ๋ก ๋์น๋ผ๊ณ ํ ์ ์..
2022.11.06 -
- [์ด์ฐ ์ํ] ๊ด๊ณ์ ํํฌ
๊ด๊ณ์ ํํฌ ํ๋ฒ์ ์ ๋ ฅํ๋ฉด ํ์์ ์ด๋ฆ์ ๋น๋กฏํ ํ์์ ๊ธฐํ ์ ๋ณด๋ฅผ ๊ฒ์ํ ์ ์๋ ์์คํ ์ด ์๋ค๊ณ ํ์. ํ์ง๋ง, ์ด ์์คํ ์ ๋ฑ๋ก๋ ์ ์ฒด ํ์ ์ค ์ฌํ์๋ง ๊ฒ์ํ ์ ์๋ค. ์ด ์์คํ ์์ ํดํ์์ ์ ๋ณด๋ ๊ฒ์ํ ์ ์์ผ๋ ค๋ฉด ํดํ์์ ํ๋ฒ๊ณผ ์ ๋ณด๋ ์ถ๊ฐํด์ผํ ๊ฒ์ด๋ค. ์ด์ฒ๋ผ ์๋ฃ ์งํฉ์ ํ์ํ ์์๋ฅผ ์ถ๊ฐํ์ฌ ํน์ ์กฐ๊ฑด์ ๋ง์กฑํ๋๋ก ๋ง๋๋ ๊ฒ์ ๊ด๊ณ์ ํํฌ๋ผ๊ณ ํ๋ค. ๊ด๊ณ์ ํํฌ(Closure) ์งํฉ `A` ์ ๋ํ ๊ด๊ณ๋ฅผ `R` ์ด๋ผ ํ๊ณ ๊ด๊ณ `R` ์ด ๊ฐ์ ธ์ผ ํ๋ ์ฑ์ง์ `P` ๋ผ๊ณ ํ ๋, ๊ด๊ณ `R` ์ ํฌํจํ๋ฉด์ ์ฑ์ง `P` ๋ฅผ ๊ฐ๋ ๊ฐ์ฅ ์์ ์งํฉ `A` ์ ๋ํ ๊ด๊ณ `S` ์ฑ์ง `P` ๋ฅผ ๊ฐ์ง ์๋ ๊ด๊ณ `R` ์ด ์ฑ์ง `P`๋ฅผ ๊ฐ๋๋ก ์์์์ ์ถ๊ฐํ ๋๋ ๋ฐ๋์ ํ์ํ ์ต์ํ์ ์์..
2022.11.06 -
- [C++] pair(ํ์ด)์ tuple(ํํ)
pair(ํ์ด)์ tuple(ํํ) pair(ํ์ด)๊ฐ๋ ์ฌ์ฉ์๊ฐ ์ง์ ํ 2๊ฐ์ ํ์ ์ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๊ธฐ ์ํด ์ฌ์ฉ๋๋ ํด๋์ค์๋ก ์ฐ๊ด๋ 2๊ฐ์ ๋ฐ์ดํฐ๋ฅผ ํ ์์ผ๋ก ๋ฌถ์ด์ ๋ค๋ฃฐ ๋ ์ฌ์ฉํ๋ฉด ํธ๋ฆฌํ๋ค.๊ตฌ์กฐ์ฒด(struct) ๋์ ํธ๋ฆฌํ๊ฒ 2๊ฐ์ ๋ฐ์ดํฐ๋ฅผ ๊ด๋ฆฌํ ์ ์๋ค. ํค๋ ํ์ผํ์ด(pair)๋ฅผ ์ฌ์ฉํ๋ ค๋ฉด ๋ค์์ ํค๋๋ฅผ ๋ถ๋ฌ์์ผ ํ๋ค.#include ํ์ง๋ง, , ํค๋๋ฅผ ์ฌ์ฉํ ๊ฒฝ์ฐ, ํค๋๊ฐ ํฌํจ๋์ด ์์ด ๋ฐ๋ก ๋ถ๋ฌ์ ์ฃผ์ง ์์๋ ๋๋ค.#include // ํค๋ ํฌํจ#include // ํค๋ ํฌํจ ํํํ์ด(pair)์ ํํ๋ ๋ค์๊ณผ ๊ฐ๋ค. template struct pair;T1์ ์ฒซ ๋ฒ์งธ ์ธ์๋ฅผ, T2์ ๋ ๋ฒ์งธ ์ธ์๋ฅผ ๋ฃ์ด์ฃผ๋ฉด ๋๋ค. ์ฌ์ฉ ๋ฐฉ๋ฒ์ด๊ธฐํ๋ค์๊ณผ ๊ฐ์ด ํ์ด(pair)๋ฅผ ์ด๊ธฐ..
2022.11.03 -
- [BOJ-7568][C++] ๋ฉ์น
๋ฌธ์ ์ฐ๋ฆฌ๋ ์ฌ๋์ ๋ฉ์น๋ฅผ ํค์ ๋ชธ๋ฌด๊ฒ, ์ด ๋ ๊ฐ์ ๊ฐ์ผ๋ก ํํํ์ฌ ๊ทธ ๋ฑ์๋ฅผ ๋งค๊ฒจ๋ณด๋ ค๊ณ ํ๋ค. ์ด๋ค ์ฌ๋์ ๋ชธ๋ฌด๊ฒ๊ฐ x kg์ด๊ณ ํค๊ฐ y cm๋ผ๋ฉด ์ด ์ฌ๋์ ๋ฉ์น๋ (x, y)๋ก ํ์๋๋ค. ๋ ์ฌ๋ A ์ B์ ๋ฉ์น๊ฐ ๊ฐ๊ฐ (x, y), (p, q)๋ผ๊ณ ํ ๋ x > p ๊ทธ๋ฆฌ๊ณ y > q ์ด๋ผ๋ฉด ์ฐ๋ฆฌ๋ A์ ๋ฉ์น๊ฐ B์ ๋ฉ์น๋ณด๋ค "๋ ํฌ๋ค"๊ณ ๋งํ๋ค. ์๋ฅผ ๋ค์ด ์ด๋ค A, B ๋ ์ฌ๋์ ๋ฉ์น๊ฐ ๊ฐ๊ฐ (56, 177), (45, 165) ๋ผ๊ณ ํ๋ค๋ฉด A์ ๋ฉ์น๊ฐ B๋ณด๋ค ํฐ ์ ์ด ๋๋ค. ๊ทธ๋ฐ๋ฐ ์๋ก ๋ค๋ฅธ ๋ฉ์น๋ผ๋ฆฌ ํฌ๊ธฐ๋ฅผ ์ ํ ์ ์๋ ๊ฒฝ์ฐ๋ ์๋ค. ์๋ฅผ ๋ค์ด ๋ ์ฌ๋ C์ D์ ๋ฉ์น๊ฐ ๊ฐ๊ฐ (45, 181), (55, 173)์ด๋ผ๋ฉด ๋ชธ๋ฌด๊ฒ๋ D๊ฐ C๋ณด๋ค ๋ ๋ฌด๊ฒ๊ณ , ํค๋ C๊ฐ ๋ ํฌ๋ฏ๋ก, "๋ฉ์น"๋ก๋ง ๋ณผ..
2022.11.03 -
- [BOJ-2231][C++] ๋ถํดํฉ
๋ฌธ์ ์ด๋ค ์์ฐ์ N์ด ์์ ๋, ๊ทธ ์์ฐ์ N์ ๋ถํดํฉ์ N๊ณผ N์ ์ด๋ฃจ๋ ๊ฐ ์๋ฆฌ์์ ํฉ์ ์๋ฏธํ๋ค. ์ด๋ค ์์ฐ์ M์ ๋ถํดํฉ์ด N์ธ ๊ฒฝ์ฐ, M์ N์ ์์ฑ์๋ผ ํ๋ค. ์๋ฅผ ๋ค์ด, 245์ ๋ถํดํฉ์ 256(=245+2+4+5)์ด ๋๋ค. ๋ฐ๋ผ์ 245๋ 256์ ์์ฑ์๊ฐ ๋๋ค. ๋ฌผ๋ก , ์ด๋ค ์์ฐ์์ ๊ฒฝ์ฐ์๋ ์์ฑ์๊ฐ ์์ ์๋ ์๋ค. ๋ฐ๋๋ก, ์์ฑ์๊ฐ ์ฌ๋ฌ ๊ฐ์ธ ์์ฐ์๋ ์์ ์ ์๋ค. ์์ฐ์ N์ด ์ฃผ์ด์ก์ ๋, N์ ๊ฐ์ฅ ์์ ์์ฑ์๋ฅผ ๊ตฌํด๋ด๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์์ค. ์ ๋ ฅ ์ฒซ์งธ ์ค์ ์์ฐ์ N(1 ≤ N ≤ 1,000,000)์ด ์ฃผ์ด์ง๋ค. ์ถ๋ ฅ ์ฒซ์งธ ์ค์ ๋ต์ ์ถ๋ ฅํ๋ค. ์์ฑ์๊ฐ ์๋ ๊ฒฝ์ฐ์๋ 0์ ์ถ๋ ฅํ๋ค. ์์ ์ ๋ ฅ 1 216 ์์ ์ถ๋ ฅ 1 198 ์ถ์ฒ ICPC > Regionals > Asia ..
2022.11.03 -
- [BOJ-2798][C++] ๋ธ๋์ญ
๋ฌธ์ ์นด์ง๋ ธ์์ ์ ์ผ ์ธ๊ธฐ ์๋ ๊ฒ์ ๋ธ๋์ญ์ ๊ท์น์ ์๋นํ ์ฝ๋ค. ์นด๋์ ํฉ์ด 21์ ๋์ง ์๋ ํ๋ ๋ด์์, ์นด๋์ ํฉ์ ์ต๋ํ ํฌ๊ฒ ๋ง๋๋ ๊ฒ์์ด๋ค. ๋ธ๋์ญ์ ์นด์ง๋ ธ๋ง๋ค ๋ค์ํ ๊ท์ ์ด ์๋ค. ํ๊ตญ ์ต๊ณ ์ ๋ธ๋์ญ ๊ณ ์ ๊น์ ์ธ์ ์๋ก์ด ๋ธ๋์ญ ๊ท์น์ ๋ง๋ค์ด ์๊ทผ, ์ฐฝ์์ด์ ๊ฒ์ํ๋ ค๊ณ ํ๋ค. ๊น์ ์ธ ๋ฒ์ ์ ๋ธ๋์ญ์์ ๊ฐ ์นด๋์๋ ์์ ์ ์๊ฐ ์ฐ์ฌ ์๋ค. ๊ทธ ๋ค์, ๋๋ฌ๋ N์ฅ์ ์นด๋๋ฅผ ๋ชจ๋ ์ซ์๊ฐ ๋ณด์ด๋๋ก ๋ฐ๋ฅ์ ๋๋๋ค. ๊ทธ๋ฐ ํ์ ๋๋ฌ๋ ์ซ์ M์ ํฌ๊ฒ ์ธ์น๋ค. ์ด์ ํ๋ ์ด์ด๋ ์ ํ๋ ์๊ฐ ์์ N์ฅ์ ์นด๋ ์ค์์ 3์ฅ์ ์นด๋๋ฅผ ๊ณจ๋ผ์ผ ํ๋ค. ๋ธ๋์ญ ๋ณํ ๊ฒ์์ด๊ธฐ ๋๋ฌธ์, ํ๋ ์ด์ด๊ฐ ๊ณ ๋ฅธ ์นด๋์ ํฉ์ M์ ๋์ง ์์ผ๋ฉด์ M๊ณผ ์ต๋ํ ๊ฐ๊น๊ฒ ๋ง๋ค์ด์ผ ํ๋ค. N์ฅ์ ์นด๋์ ์จ์ ธ ์๋ ์ซ์๊ฐ ์ฃผ์ด์ก์ ๋, ..
2022.11.03 -
- [Algorithm] ๋ธ๋ฃจํธ ํฌ์ค(Brute Force)
๋ธ๋ฃจํธ ํฌ์ค(Brute Force) ๊ฐ๋ ๋ธ๋ฃจํธ(Brute)์ ํฌ์ค(Force)๊ฐ ๊ฒฐํฉ๋์ด ๋ง๋ค์ด์ง ๋จ์ด์ด๋ฉฐ, "๋ํญํ ํ(ํญ๋ ฅ)" ์ด๋ผ๋ ๋ป์ด๋ค. ๋ฌธ์ ํด๊ฒฐ์ ์ํด ์ค๋ ๊ฑธ๋ฆฌ๊ณ ์์์ด ๋ง์ด ๋ค์ด์ ๋ฌด์ํ๋ค๊ณ ์๊ฐ๋ ์๋ ์์ง๋ง, ํญ์ 100%์ ์ ํ์ฑ์ ๋ณด์ธ๋ค. ์ ๋ต(Solution)์ด ๋ฐ๊ฒฌ๋ ๋๊น์ง ๊ฐ๋ฅํ ๋ชจ๋ ์ ํ์ง๋ฅผ ์ฐพ๋ ๋ฐฉ๋ฒ์ด๋ค. ์) 4์๋ฆฌ ์ซ์์ ํจ์ค์๋๋ฅผ ์ฐพ๊ธฐ ์ํด 0000๋ถํฐ 9999๊น์ง ํ๋์ฉ ์ ๋ ฅํ์ฌ ์ฐพ์๋ณด๋ ๊ฒฝ์ฐ ๋ฐ๋ผ์ ๋ธ๋ฃจํธ ํฌ์ค ์๊ณ ๋ฆฌ์ฆ์ ์์ ํ์ ์๊ณ ๋ฆฌ์ฆ์ด๋ผ๊ณ ํ ์ ์๋ค. ๊ฐ๋จํ๊ณ ์ผ๊ด์ ์ด์ง๋ง, ๋งค์ฐ ๋๋ฆฌ๋ค๋ ๋จ์ ์ด ์๋ค. ๊ฑฐ์ ์๋ฒฝํ๊ฒ ๋ณ๋ ฌ ์์ ์ด ๊ฐ๋ฅํ์ฌ ๋ณ๋ ฌ ํ๋ก๊ทธ๋๋ฐ์์ ์ฌ์ฉ๋๋ค. ํจํด ๋งค์นญ(Pattern Matching) ๋ฑ์ ์์ ์ ์ฌ์ฉ๋ ์ ์๋ค. ๋๋น ์ฐ์ ํ..
2022.11.03 -
- [Algorithm] ํ๋ ธ์ด ํ(Tower of Hanoi)
ํ๋ ธ์ด ํ(Tower of Hanoi) ๊ฐ๋ ํ๋์ค์ ์ํ์ ์๋์๋ฅด ๋คผ์นด(François Édouard Anatole Lucas)๊ฐ 1883๋ ์๊ฐํ ์ ๋ช ํ ๋ฌธ์ ์ฌ๊ท(Recursion)๋ฅผ ์ฐ์ตํ๋๋ฐ ๋์์ด ๋๋ ์๊ณ ๋ฆฌ์ฆ ๋ค์๊ณผ ๊ฐ์ด 3๊ฐ์ ๋ง๋์ N๊ฐ์ ์ํ(Disk)์ด ์์ ๋, ์ํ์ ๋ค์์ ์์๋ฅผ ์งํค๋ฉด์ A์์ C๋ก ์ฎ๊ธฐ๋ ์์ ๊ฐ ์ํ์ ํฌ๊ธฐ๋ ๋ชจ๋ ๋ค๋ฅด๋ค. ์ํ์ ํฌ๊ธฐ๋ ์๋์์๋ถํฐ ์๋ก ๊ฐ์๋ก ์ ์ ์์์ง๋ค. โ ํ ๋ฒ์ ํ๋์ ์ํ๋ง ์ด๋ํ๋ค. โก ๋งจ ์์ ์๋ ์ํ๋ง ์ด๋ํ๋ค. โข ํฌ๊ธฐ๊ฐ ์์ ์ํ ์์ ํฐ ์ํ์ ์์ ์ ์๋ค. ์ด ์กฐ๊ฑด์์ ๋ค์์ ๊ตฌํ๋ ๊ฒ์ด ํ๋ ธ์ด ํ์ ๋ฌธ์ ๊ฐ ๋๋ค. โ ์ต์์ ์ด๋ ํ์๋ก ์ฎ๊ธฐ๋ ๊ฐ์ง์ ($2^{N} - 1$) โก ์ต์์ ์ด๋ ํ์๋ก ์ฎ๊ธธ ๋, ..
2022.11.03 -
- [BOJ-11729][C++] ํ๋ ธ์ด ํ ์ด๋ ์์
๋ฌธ์ ์ธ ๊ฐ์ ์ฅ๋๊ฐ ์๊ณ ์ฒซ ๋ฒ์งธ ์ฅ๋์๋ ๋ฐ๊ฒฝ์ด ์๋ก ๋ค๋ฅธ n๊ฐ์ ์ํ์ด ์์ฌ ์๋ค. ๊ฐ ์ํ์ ๋ฐ๊ฒฝ์ด ํฐ ์์๋๋ก ์์ฌ์๋ค. ์ด์ ์๋์น๋ค์ด ๋ค์ ๊ท์น์ ๋ฐ๋ผ ์ฒซ ๋ฒ์งธ ์ฅ๋์์ ์ธ ๋ฒ์งธ ์ฅ๋๋ก ์ฎ๊ธฐ๋ ค ํ๋ค. ํ ๋ฒ์ ํ ๊ฐ์ ์ํ๋ง์ ๋ค๋ฅธ ํ์ผ๋ก ์ฎ๊ธธ ์ ์๋ค. ์์ ๋์ ์ํ์ ํญ์ ์์ ๊ฒ์ด ์๋์ ๊ฒ๋ณด๋ค ์์์ผ ํ๋ค. ์ด ์์ ์ ์ํํ๋๋ฐ ํ์ํ ์ด๋ ์์๋ฅผ ์ถ๋ ฅํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ๋ผ. ๋จ, ์ด๋ ํ์๋ ์ต์๊ฐ ๋์ด์ผ ํ๋ค. ์๋ ๊ทธ๋ฆผ์ ์ํ์ด 5๊ฐ์ธ ๊ฒฝ์ฐ์ ์์์ด๋ค. ์ ๋ ฅ ์ฒซ์งธ ์ค์ ์ฒซ ๋ฒ์งธ ์ฅ๋์ ์์ธ ์ํ์ ๊ฐ์ N (1 ≤ N ≤ 20)์ด ์ฃผ์ด์ง๋ค. ์ถ๋ ฅ ์ฒซ์งธ ์ค์ ์ฎ๊ธด ํ์ K๋ฅผ ์ถ๋ ฅํ๋ค. ๋ ๋ฒ์งธ ์ค๋ถํฐ ์ํ ๊ณผ์ ์ ์ถ๋ ฅํ๋ค. ๋ ๋ฒ์งธ ์ค๋ถํฐ K๊ฐ์ ์ค์ ๊ฑธ์ณ ๋ ์ ์ A B๋ฅผ ๋น..
2022.11.03 -
- [BOJ-2447][C++] ๋ณ ์ฐ๊ธฐ - 10
๋ฌธ์ ์ฌ๊ท์ ์ธ ํจํด์ผ๋ก ๋ณ์ ์ฐ์ด ๋ณด์. N์ด 3์ ๊ฑฐ๋ญ์ ๊ณฑ(3, 9, 27, ...)์ด๋ผ๊ณ ํ ๋, ํฌ๊ธฐ N์ ํจํด์ N×N ์ ์ฌ๊ฐํ ๋ชจ์์ด๋ค. ํฌ๊ธฐ 3์ ํจํด์ ๊ฐ์ด๋ฐ์ ๊ณต๋ฐฑ์ด ์๊ณ , ๊ฐ์ด๋ฐ๋ฅผ ์ ์ธํ ๋ชจ๋ ์นธ์ ๋ณ์ด ํ๋์ฉ ์๋ ํจํด์ด๋ค. *** * * *** N์ด 3๋ณด๋ค ํด ๊ฒฝ์ฐ, ํฌ๊ธฐ N์ ํจํด์ ๊ณต๋ฐฑ์ผ๋ก ์ฑ์์ง ๊ฐ์ด๋ฐ์ (N/3)×(N/3) ์ ์ฌ๊ฐํ์ ํฌ๊ธฐ N/3์ ํจํด์ผ๋ก ๋๋ฌ์ผ ํํ์ด๋ค. ์๋ฅผ ๋ค์ด ํฌ๊ธฐ 27์ ํจํด์ ์์ ์ถ๋ ฅ 1๊ณผ ๊ฐ๋ค. ์ ๋ ฅ ์ฒซ์งธ ์ค์ $N$์ด ์ฃผ์ด์ง๋ค. $N$์ 3์ ๊ฑฐ๋ญ์ ๊ณฑ์ด๋ค. ์ฆ ์ด๋ค ์ ์ $k$์ ๋ํด $N=3^k$์ด๋ฉฐ, ์ด๋ $1 ≤ k < 8$์ด๋ค. ์ถ๋ ฅ ์ฒซ์งธ ์ค๋ถํฐ N๋ฒ์งธ ์ค๊น์ง ๋ณ์ ์ถ๋ ฅํ๋ค. ์์ ์ ๋ ฅ 1 27 ์์ ์ถ๋ ฅ 1 ***************..
2022.11.03 -
- [BOJ-24060][C++] ์๊ณ ๋ฆฌ์ฆ ์์ - ๋ณํฉ ์ ๋ ฌ 1
๋ฌธ์ ์ค๋๋ ์์ค์ด๋ ๋ณํฉ ์ ๋ ฌ ์์ ์กฐ๊ต๋ฅผ ํ๊ณ ์๋ค. ์๋น ๊ฐ ์์ ํ ๋ด์ฉ์ ํ์๋ค์ด ์ ์ดํดํ๋์ง ๋ฌธ์ ๋ฅผ ํตํด์ ํ์ธํด๋ณด์. N๊ฐ์ ์๋ก ๋ค๋ฅธ ์์ ์ ์๊ฐ ์ ์ฅ๋ ๋ฐฐ์ด A๊ฐ ์๋ค. ๋ณํฉ ์ ๋ ฌ๋ก ๋ฐฐ์ด A๋ฅผ ์ค๋ฆ์ฐจ์ ์ ๋ ฌํ ๊ฒฝ์ฐ ๋ฐฐ์ด A์ K ๋ฒ์งธ ์ ์ฅ๋๋ ์๋ฅผ ๊ตฌํด์ ์ฐ๋ฆฌ ์์ค์ด๋ฅผ ๋์์ฃผ์. ํฌ๊ธฐ๊ฐ N์ธ ๋ฐฐ์ด์ ๋ํ ๋ณํฉ ์ ๋ ฌ ์์ฌ ์ฝ๋๋ ๋ค์๊ณผ ๊ฐ๋ค. merge_sort(A[p..r]) { # A[p..r]์ ์ค๋ฆ์ฐจ์ ์ ๋ ฌํ๋ค. if (p < r) then { q
2022.11.02 -
- [BOJ-25501][C++] ์ฌ๊ท์ ๊ท์ฌ
์๊ฐ ์ ํ ๋ฉ๋ชจ๋ฆฌ ์ ํ ์ ์ถ ์ ๋ต ๋งํ ์ฌ๋ ์ ๋ต ๋น์จ 2 ์ด (์ถ๊ฐ ์๊ฐ ์์) 1024 MB (์ถ๊ฐ ๋ฉ๋ชจ๋ฆฌ ์์) 4810 2613 2251 56.887% ๋ฌธ์ ์ ํ๋ ํ๋ฐฐ๋ค์ด ์ฌ๊ท ํจ์๋ฅผ ์ ๋ค๋ฃจ๋ ์ฌ๊ท์ ๊ท์ฌ์ธ์ง ์์๋ณด๊ธฐ ์ํด ์ฌ๊ท ํจ์์ ๊ด๋ จ๋ ๋ฌธ์ ๋ฅผ ์ถ์ ํ๊ธฐ๋ก ํ๋ค. ํฐ๋ฆฐ๋๋กฌ์ด๋, ์์์๋ถํฐ ์ฝ์์ ๋์ ๋ค์์๋ถํฐ ์ฝ์์ ๋๊ฐ ๊ฐ์ ๋ฌธ์์ด์ ๋งํ๋ค. ํฐ๋ฆฐ๋๋กฌ์ ์์๋ก AAA, ABBA, ABABA ๋ฑ์ด ์๊ณ , ํฐ๋ฆฐ๋๋กฌ์ด ์๋ ๋ฌธ์์ด์ ์์๋ก ABCA, PALINDROME ๋ฑ์ด ์๋ค. ์ด๋ค ๋ฌธ์์ด์ด ํฐ๋ฆฐ๋๋กฌ์ธ์ง ํ๋ณํ๋ ๋ฌธ์ ๋ ์ฌ๊ท ํจ์๋ฅผ ์ด์ฉํด ์ฝ๊ฒ ํด๊ฒฐํ ์ ์๋ค. ์๋ ์ฝ๋์ isPalindrome ํจ์๋ ์ฃผ์ด์ง ๋ฌธ์์ด์ด ํฐ๋ฆฐ๋๋กฌ์ด๋ฉด 1, ํฐ๋ฆฐ๋๋กฌ์ด ์๋๋ฉด 0์ ๋ฐํํ๋ ํจ์๋ค. #incl..
2022.11.02