CPP
-
- [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 -
- [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 -
- [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 -
- [BOJ-10870][C++] ํผ๋ณด๋์น ์ 5
๋ฌธ์ ํผ๋ณด๋์น ์๋ 0๊ณผ 1๋ก ์์ํ๋ค. 0๋ฒ์งธ ํผ๋ณด๋์น ์๋ 0์ด๊ณ , 1๋ฒ์งธ ํผ๋ณด๋์น ์๋ 1์ด๋ค. ๊ทธ ๋ค์ 2๋ฒ์งธ ๋ถํฐ๋ ๋ฐ๋ก ์ ๋ ํผ๋ณด๋์น ์์ ํฉ์ด ๋๋ค. ์ด๋ฅผ ์์ผ๋ก ์จ๋ณด๋ฉด $F_{n} = F_{n-1} + F_{n-2} (n ≥ 2)$ ๊ฐ ๋๋ค. `n=17` ์ผ๋ ๊น์ง ํผ๋ณด๋์น ์๋ฅผ ์จ๋ณด๋ฉด ๋ค์๊ณผ ๊ฐ๋ค. 0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377, 610, 987, 1597 `n`์ด ์ฃผ์ด์ก์ ๋, `n`๋ฒ์งธ ํผ๋ณด๋์น ์๋ฅผ ๊ตฌํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์์ค. ์ ๋ ฅ ์ฒซ์งธ ์ค์ `n`์ด ์ฃผ์ด์ง๋ค. `n`์ 20๋ณด๋ค ์๊ฑฐ๋ ๊ฐ์ ์์ฐ์ ๋๋ 0์ด๋ค. ์ถ๋ ฅ ์ฒซ์งธ ์ค์ n๋ฒ์งธ ํผ๋ณด๋์น ์๋ฅผ ์ถ๋ ฅํ๋ค. ์์ ์ ๋ ฅ 1 10 ์์ ์ถ๋ ฅ 1 55 ์๊ณ ๋ฆฌ์ฆ ๋ถ๋ฅ..
2022.11.02 -
- [BOJ-10872][C++] ํฉํ ๋ฆฌ์ผ
๋ฌธ์ 0๋ณด๋ค ํฌ๊ฑฐ๋ ๊ฐ์ ์ ์ N์ด ์ฃผ์ด์ง๋ค. ์ด๋, N!์ ์ถ๋ ฅํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์์ค. ์ ๋ ฅ ์ฒซ์งธ ์ค์ ์ ์ N(0 ≤ N ≤ 12)์ด ์ฃผ์ด์ง๋ค. ์ถ๋ ฅ ์ฒซ์งธ ์ค์ N!์ ์ถ๋ ฅํ๋ค. ์์ ์ ๋ ฅ 1 10 ์์ ์ถ๋ ฅ 1 3628800 ์์ ์ ๋ ฅ 2 0 ์์ ์ถ๋ ฅ 2 1 ์๊ณ ๋ฆฌ์ฆ ๋ถ๋ฅ ์ํ ๊ตฌํ ์งํฉ๋ก ๋ฌธ์ ์ถ์ฒ https://www.acmicpc.net/problem/10872 10872๋ฒ: ํฉํ ๋ฆฌ์ผ 0๋ณด๋ค ํฌ๊ฑฐ๋ ๊ฐ์ ์ ์ N์ด ์ฃผ์ด์ง๋ค. ์ด๋, N!์ ์ถ๋ ฅํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์์ค. www.acmicpc.net ๋ฌธ์ ํด๊ฒฐ ๋ฐฉ๋ฒ ์ฌ๊ท ํจ์๋ฅผ ์ด์ฉํ์ฌ ํฉํ ๋ฆฌ์ผ์ ๊ตฌํํ์๋ค. 0!์ 1!๋ 1์์ ์ฃผ์ํ๋ค. int factorial(int n) { if (n N; cout
2022.11.02 -
- [C++] lower_bound(), upper_bound() ; ์ด์ง ํ์(Binary Search)
lower_bound(), upper_bound() ; ์ด์ง ํ์(Binary Search) ์๊ฐ์ด์ง ํ์(Binary Search)์ผ๋ก ์์๋ฅผ ํ์ํ๋ ํจ์์๊ฐ ๋ณต์ก๋๊ฐ $O(\log_{2} N)$ ์ผ๋ก, ๋น ๋ฅธ ์๋๋ก ํ์์ ์ํํ ์ ์๋ค.ํ์์ ์งํํ ์ปจํ ์ด๋๋ ๋ฐ๋์ ์ค๋ฆ์ฐจ์์ผ๋ก ์ ๋ ฌ๋์ด ์์ด์ผ ํ๋ค. ํ์ํ ํค๋#include ํ์์ฐพ์ ๊ฐ(val)์ ์ฃผ์๋ฅผ Iterator ํ์ผ๋ก ๋ฐํํ๋ค.lower_bound(ForwardIterator first, ForwardIterator last, const T& val)lower_bound(ForwardIterator first, ForwardIterator last, const T& val) lower_bound()์ฐพ์ผ๋ ค๋ ํค ๊ฐ๋ณด๋ค ํฌ๊ฑฐ๋ ๊ฐ์(์ด..
2022.11.01 -
- [BOJ-18870] ์ขํ ์์ถ
๋ฌธ์ ์์ง์ ์์ $N$ ๊ฐ์ ์ขํ $X_{1}, X_{2}, ..., X_{N}$์ด ์๋ค. ์ด ์ขํ์ ์ขํ ์์ถ์ ์ ์ฉํ๋ ค๊ณ ํ๋ค. $X_{i}$๋ฅผ ์ขํ ์์ถํ ๊ฒฐ๊ณผ $X'_{i}$์ ๊ฐ์ $X_{i} > X_{j}$๋ฅผ ๋ง์กฑํ๋ ์๋ก ๋ค๋ฅธ ์ขํ์ ๊ฐ์์ ๊ฐ์์ผ ํ๋ค. $X_{1}, X_{2}, ..., X_{N}$์ ์ขํ ์์ถ์ ์ ์ฉํ ๊ฒฐ๊ณผ $X'_{1}, X'_{2}, ..., X'_{N}$๋ฅผ ์ถ๋ ฅํด๋ณด์. ์ ๋ ฅ ์ฒซ์งธ ์ค์ $N$์ด ์ฃผ์ด์ง๋ค. ๋์งธ ์ค์๋ ๊ณต๋ฐฑ ํ ์นธ์ผ๋ก ๊ตฌ๋ถ๋ $X_{1}, X_{2}, ..., X_{N}$์ด ์ฃผ์ด์ง๋ค. ์ถ๋ ฅ ์ฒซ์งธ ์ค์ $X'_{1}, X'_{2}, ..., X'_{N}$์ ๊ณต๋ฐฑ ํ ์นธ์ผ๋ก ๊ตฌ๋ถํด์ ์ถ๋ ฅํ๋ค. ์ ํ $1 ≤ N ≤ 1,000,000$ $-10^{9} ≤..
2022.11.01 -
- [BOJ-10814][C++] ๋์ด์ ์ ๋ ฌ
๋ฌธ์ ์จ๋ผ์ธ ์ ์ง์ ๊ฐ์ ํ ์ฌ๋๋ค์ ๋์ด์ ์ด๋ฆ์ด ๊ฐ์ ํ ์์๋๋ก ์ฃผ์ด์ง๋ค. ์ด๋, ํ์๋ค์ ๋์ด๊ฐ ์ฆ๊ฐํ๋ ์์ผ๋ก, ๋์ด๊ฐ ๊ฐ์ผ๋ฉด ๋จผ์ ๊ฐ์ ํ ์ฌ๋์ด ์์ ์ค๋ ์์๋ก ์ ๋ ฌํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์์ค. ์ ๋ ฅ ์ฒซ์งธ ์ค์ ์จ๋ผ์ธ ์ ์ง ํ์์ ์ N์ด ์ฃผ์ด์ง๋ค. (1 ≤ N ≤ 100,000) ๋์งธ ์ค๋ถํฐ N๊ฐ์ ์ค์๋ ๊ฐ ํ์์ ๋์ด์ ์ด๋ฆ์ด ๊ณต๋ฐฑ์ผ๋ก ๊ตฌ๋ถ๋์ด ์ฃผ์ด์ง๋ค. ๋์ด๋ 1๋ณด๋ค ํฌ๊ฑฐ๋ ๊ฐ์ผ๋ฉฐ, 200๋ณด๋ค ์๊ฑฐ๋ ๊ฐ์ ์ ์์ด๊ณ , ์ด๋ฆ์ ์ํ๋ฒณ ๋์๋ฌธ์๋ก ์ด๋ฃจ์ด์ ธ ์๊ณ , ๊ธธ์ด๊ฐ 100๋ณด๋ค ์๊ฑฐ๋ ๊ฐ์ ๋ฌธ์์ด์ด๋ค. ์ ๋ ฅ์ ๊ฐ์ ํ ์์๋ก ์ฃผ์ด์ง๋ค. ์ถ๋ ฅ ์ฒซ์งธ ์ค๋ถํฐ ์ด N๊ฐ์ ์ค์ ๊ฑธ์ณ ์จ๋ผ์ธ ์ ์ง ํ์์ ๋์ด ์, ๋์ด๊ฐ ๊ฐ์ผ๋ฉด ๊ฐ์ ํ ์์ผ๋ก ํ ์ค์ ํ ๋ช ์ฉ ๋์ด์ ์ด๋ฆ์ ๊ณต๋ฐฑ์ผ๋ก ๊ตฌ๋ถํด ์ถ๋ ฅํ๋ค. ์์ ..
2022.11.01 -
- [BOJ-1181] ๋จ์ด ์ ๋ ฌ
๋ฌธ์ ์ํ๋ฒณ ์๋ฌธ์๋ก ์ด๋ฃจ์ด์ง N๊ฐ์ ๋จ์ด๊ฐ ๋ค์ด์ค๋ฉด ์๋์ ๊ฐ์ ์กฐ๊ฑด์ ๋ฐ๋ผ ์ ๋ ฌํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์์ค. ๊ธธ์ด๊ฐ ์งง์ ๊ฒ๋ถํฐ ๊ธธ์ด๊ฐ ๊ฐ์ผ๋ฉด ์ฌ์ ์์ผ๋ก ์ ๋ ฅ ์ฒซ์งธ ์ค์ ๋จ์ด์ ๊ฐ์ N์ด ์ฃผ์ด์ง๋ค. (1 ≤ N ≤ 20,000) ๋์งธ ์ค๋ถํฐ N๊ฐ์ ์ค์ ๊ฑธ์ณ ์ํ๋ฒณ ์๋ฌธ์๋ก ์ด๋ฃจ์ด์ง ๋จ์ด๊ฐ ํ ์ค์ ํ๋์ฉ ์ฃผ์ด์ง๋ค. ์ฃผ์ด์ง๋ ๋ฌธ์์ด์ ๊ธธ์ด๋ 50์ ๋์ง ์๋๋ค. ์ถ๋ ฅ ์กฐ๊ฑด์ ๋ฐ๋ผ ์ ๋ ฌํ์ฌ ๋จ์ด๋ค์ ์ถ๋ ฅํ๋ค. ๋จ, ๊ฐ์ ๋จ์ด๊ฐ ์ฌ๋ฌ ๋ฒ ์ ๋ ฅ๋ ๊ฒฝ์ฐ์๋ ํ ๋ฒ์ฉ๋ง ์ถ๋ ฅํ๋ค. ์์ ์ ๋ ฅ 1 13 but i wont hesitate no more no more it cannot wait im yours ์์ ์ถ๋ ฅ 1 i im it no but more wait wont yours cannot hesitate..
2022.11.01 -
- [BOJ-11651][C++] ์ขํ ์ ๋ ฌํ๊ธฐ 2
๋ฌธ์ 2์ฐจ์ ํ๋ฉด ์์ ์ N๊ฐ๊ฐ ์ฃผ์ด์ง๋ค. ์ขํ๋ฅผ y์ขํ๊ฐ ์ฆ๊ฐํ๋ ์์ผ๋ก, y์ขํ๊ฐ ๊ฐ์ผ๋ฉด x์ขํ๊ฐ ์ฆ๊ฐํ๋ ์์๋ก ์ ๋ ฌํ ๋ค์ ์ถ๋ ฅํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์์ค. ์ ๋ ฅ ์ฒซ์งธ ์ค์ ์ ์ ๊ฐ์ N (1 ≤ N ≤ 100,000)์ด ์ฃผ์ด์ง๋ค. ๋์งธ ์ค๋ถํฐ N๊ฐ์ ์ค์๋ i๋ฒ์ ์ ์์น `x_{i}`์ `y_{i}`๊ฐ ์ฃผ์ด์ง๋ค. (-100,000 ≤ `x_{i}`, `y_{i}` ≤ 100,000) ์ขํ๋ ํญ์ ์ ์์ด๊ณ , ์์น๊ฐ ๊ฐ์ ๋ ์ ์ ์๋ค. ์ถ๋ ฅ ์ฒซ์งธ ์ค๋ถํฐ N๊ฐ์ ์ค์ ์ ์ ์ ๋ ฌํ ๊ฒฐ๊ณผ๋ฅผ ์ถ๋ ฅํ๋ค. ์์ ์ ๋ ฅ 1 5 0 4 1 2 1 -1 2 2 3 3 ์์ ์ถ๋ ฅ 1 1 -1 1 2 2 2 3 3 0 4 ์๊ณ ๋ฆฌ์ฆ ๋ถ๋ฅ ์ ๋ ฌ ๋ฌธ์ ์ถ์ฒ https://www.acmicpc.net/problem/11651..
2022.10.30 -
- [BOJ-11650][C++] ์ขํ ์ ๋ ฌํ๊ธฐ
๋ฌธ์ 2์ฐจ์ ํ๋ฉด ์์ ์ N๊ฐ๊ฐ ์ฃผ์ด์ง๋ค. ์ขํ๋ฅผ x์ขํ๊ฐ ์ฆ๊ฐํ๋ ์์ผ๋ก, x์ขํ๊ฐ ๊ฐ์ผ๋ฉด y์ขํ๊ฐ ์ฆ๊ฐํ๋ ์์๋ก ์ ๋ ฌํ ๋ค์ ์ถ๋ ฅํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์์ค. ์ ๋ ฅ ์ฒซ์งธ ์ค์ ์ ์ ๊ฐ์ N (1 ≤ N ≤ 100,000)์ด ์ฃผ์ด์ง๋ค. ๋์งธ ์ค๋ถํฐ N๊ฐ์ ์ค์๋ i๋ฒ์ ์ ์์น `x_{i}`์ `y_{i}`๊ฐ ์ฃผ์ด์ง๋ค. (-100,000 ≤ `x_{i}`, `y_{i}` ≤ 100,000) ์ขํ๋ ํญ์ ์ ์์ด๊ณ , ์์น๊ฐ ๊ฐ์ ๋ ์ ์ ์๋ค. ์ถ๋ ฅ ์ฒซ์งธ ์ค๋ถํฐ N๊ฐ์ ์ค์ ์ ์ ์ ๋ ฌํ ๊ฒฐ๊ณผ๋ฅผ ์ถ๋ ฅํ๋ค. ์์ ์ ๋ ฅ 1 5 3 4 1 1 1 -1 2 2 3 3 ์์ ์ถ๋ ฅ 1 1 -1 1 1 2 2 3 3 3 4 ์๊ณ ๋ฆฌ์ฆ ๋ถ๋ฅ ์ ๋ ฌ ๋ฌธ์ ์ถ์ฒ https://www.acmicpc.net/problem/11650..
2022.10.29 -
- [C++] sort ํจ์๋ฅผ ์ด์ฉํ์ฌ ์ค๋ฆ์ฐจ์/๋ด๋ฆผ์ฐจ์ ์ ๋ ฌํ๋ ๋ฐฉ๋ฒ
sort ํจ์๋ฅผ ์ด์ฉํ์ฌ ์ค๋ฆ์ฐจ์/๋ด๋ฆผ์ฐจ์ ์ ๋ ฌํ๋ ๋ฐฉ๋ฒ sort() ํจ์๋ฐฐ์ด ๋ฑ ์ปจํ ์ด๋๋ค์ ์์๋ฅผ ์ ๋ ฌํ๋ ํจ์๋ณดํต array๋ vector๋ฅผ ์ ๋ ฌํ ๋ ์ฐ์ธ๋ค. ํ์ํ ํค๋ ํค๋๋ฅผ ๋ถ๋ฌ์์ผ ์ฌ์ฉํ ์ ์๋ค.#include ๊ธฐ๋ณธ ํฌ๋งทdefault (1)template void sort (RandomAccessIterator first, RandomAccessIterator last);custom (2)template void sort (RandomAccessIterator first, RandomAccessIterator last, Compare comp);๊ธฐ๋ณธ์ ์ผ๋ก ์ดํฐ๋ ์ดํฐ ๋ฒ์์ Compare ํ๋ผ๋ฏธํฐ๋ฅผ ํตํด ์ฝ๋ฐฑ ํจ์(Callback Function)๋ฅผ ์ ํ์ ์ผ๋ก ์ฒ๋ฆฌํ ์ ์..
2022.10.27 -
- [BOJ-1427][C++] ์ํธ์ธ์ฌ์ด๋
๋ฌธ์ ๋ฐฐ์ด์ ์ ๋ ฌํ๋ ๊ฒ์ ์ฝ๋ค. ์๊ฐ ์ฃผ์ด์ง๋ฉด, ๊ทธ ์์ ๊ฐ ์๋ฆฌ์๋ฅผ ๋ด๋ฆผ์ฐจ์์ผ๋ก ์ ๋ ฌํด๋ณด์. ์ ๋ ฅ ์ฒซ์งธ ์ค์ ์ ๋ ฌํ๋ ค๊ณ ํ๋ ์ N์ด ์ฃผ์ด์ง๋ค. N์ 1,000,000,000๋ณด๋ค ์๊ฑฐ๋ ๊ฐ์ ์์ฐ์์ด๋ค. ์ถ๋ ฅ ์ฒซ์งธ ์ค์ ์๋ฆฌ์๋ฅผ ๋ด๋ฆผ์ฐจ์์ผ๋ก ์ ๋ ฌํ ์๋ฅผ ์ถ๋ ฅํ๋ค. ์์ ์ ๋ ฅ 1 2143 ์์ ์ถ๋ ฅ 1 4321 ์์ ์ ๋ ฅ 2 999998999 ์์ ์ถ๋ ฅ 2 999999998 ์์ ์ ๋ ฅ 3 61423 ์์ ์ถ๋ ฅ 3 64321 ์์ ์ ๋ ฅ 4 500613009 ์์ ์ถ๋ ฅ 4 965310000 ์๊ณ ๋ฆฌ์ฆ ๋ถ๋ฅ ๋ฌธ์์ด ์ ๋ ฌ ๋ฌธ์ ์ถ์ฒ https://www.acmicpc.net/problem/1427 1427๋ฒ: ์ํธ์ธ์ฌ์ด๋ ์ฒซ์งธ ์ค์ ์ ๋ ฌํ๋ ค๊ณ ํ๋ ์ N์ด ์ฃผ์ด์ง๋ค. N์ 1,000,000,000๋ณด๋ค ์๊ฑฐ๋ ๊ฐ..
2022.10.27 -
- [BOJ-2108][C++] ํต๊ณํ
์๊ฐ ์ ํ ๋ฉ๋ชจ๋ฆฌ ์ ํ ์ ์ถ ์ ๋ต ๋งํ ์ฌ๋ ์ ๋ต ๋น์จ 2 ์ด 256 MB 114349 24868 20070 25.402% ๋ฌธ์ ์๋ฅผ ์ฒ๋ฆฌํ๋ ๊ฒ์ ํต๊ณํ์์ ์๋นํ ์ค์ํ ์ผ์ด๋ค. ํต๊ณํ์์ N๊ฐ์ ์๋ฅผ ๋ํํ๋ ๊ธฐ๋ณธ ํต๊ณ๊ฐ์๋ ๋ค์๊ณผ ๊ฐ์ ๊ฒ๋ค์ด ์๋ค. ๋จ, N์ ํ์๋ผ๊ณ ๊ฐ์ ํ์. ์ฐ์ ํ๊ท : N๊ฐ์ ์๋ค์ ํฉ์ N์ผ๋ก ๋๋ ๊ฐ ์ค์๊ฐ : N๊ฐ์ ์๋ค์ ์ฆ๊ฐํ๋ ์์๋ก ๋์ดํ์ ๊ฒฝ์ฐ ๊ทธ ์ค์์ ์์นํ๋ ๊ฐ ์ต๋น๊ฐ : N๊ฐ์ ์๋ค ์ค ๊ฐ์ฅ ๋ง์ด ๋ํ๋๋ ๊ฐ ๋ฒ์ : N๊ฐ์ ์๋ค ์ค ์ต๋๊ฐ๊ณผ ์ต์๊ฐ์ ์ฐจ์ด N๊ฐ์ ์๊ฐ ์ฃผ์ด์ก์ ๋, ๋ค ๊ฐ์ง ๊ธฐ๋ณธ ํต๊ณ๊ฐ์ ๊ตฌํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์์ค. ์ ๋ ฅ ์ฒซ์งธ ์ค์ ์์ ๊ฐ์ N(1 ≤ N ≤ 500,000)์ด ์ฃผ์ด์ง๋ค. ๋จ, N์ ํ์์ด๋ค. ๊ทธ ๋ค์ N๊ฐ์ ์ค์๋ ..
2022.10.27 -
- [BOJ-10989][C++] ์ ์ ๋ ฌํ๊ธฐ 3
์๊ฐ ์ ํ ๋ฉ๋ชจ๋ฆฌ ์ ํ ์ ์ถ ์ ๋ต ๋งํ ์ฌ๋ ์ ๋ต ๋น์จ 5 ์ด 8 MB 197399 45716 34498 23.464% ๋ฌธ์ N๊ฐ์ ์๊ฐ ์ฃผ์ด์ก์ ๋, ์ด๋ฅผ ์ค๋ฆ์ฐจ์์ผ๋ก ์ ๋ ฌํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์์ค. ์ ๋ ฅ ์ฒซ์งธ ์ค์ ์์ ๊ฐ์ N(1 ≤ N ≤ 10,000,000)์ด ์ฃผ์ด์ง๋ค. ๋์งธ ์ค๋ถํฐ N๊ฐ์ ์ค์๋ ์๊ฐ ์ฃผ์ด์ง๋ค. ์ด ์๋ 10,000๋ณด๋ค ์๊ฑฐ๋ ๊ฐ์ ์์ฐ์์ด๋ค. ์ถ๋ ฅ ์ฒซ์งธ ์ค๋ถํฐ N๊ฐ์ ์ค์ ์ค๋ฆ์ฐจ์์ผ๋ก ์ ๋ ฌํ ๊ฒฐ๊ณผ๋ฅผ ํ ์ค์ ํ๋์ฉ ์ถ๋ ฅํ๋ค. ์์ ์ ๋ ฅ 1 10 5 2 3 1 4 2 3 5 1 7 ์์ ์ถ๋ ฅ 1 1 1 2 2 3 3 4 5 5 7 ์๊ณ ๋ฆฌ์ฆ ๋ถ๋ฅ ์ ๋ ฌ ์๊ฐ ์ ํ Java 8: 3 ์ด Java 8 (OpenJDK): 3 ์ด Java 11: 3 ์ด Kotlin (JVM): 3 ์ด J..
2022.10.27 -
- [BOJ-2559][C++] ์์ด
๋ฌธ์ ๋งค์ผ ์์นจ 9์์ ํ๊ต์์ ์ธก์ ํ ์จ๋๊ฐ ์ด๋ค ์ ์์ ์์ด๋ก ์ฃผ์ด์ก์ ๋, ์ฐ์์ ์ธ ๋ฉฐ์น ๋์์ ์จ๋์ ํฉ์ด ๊ฐ์ฅ ํฐ ๊ฐ์ ์์๋ณด๊ณ ์ ํ๋ค. ์๋ฅผ ๋ค์ด, ์๋์ ๊ฐ์ด 10์ผ ๊ฐ์ ์จ๋๊ฐ ์ฃผ์ด์ก์ ๋, 3 -2 -4 -9 0 3 7 13 8 -3 ๋ชจ๋ ์ฐ์์ ์ธ ์ดํ๊ฐ์ ์จ๋์ ํฉ์ ์๋์ ๊ฐ๋ค. ์ด๋, ์จ๋์ ํฉ์ด ๊ฐ์ฅ ํฐ ๊ฐ์ 21์ด๋ค. ๋ ๋ค๋ฅธ ์๋ก ์์ ๊ฐ์ ์จ๋๊ฐ ์ฃผ์ด์ก์ ๋, ๋ชจ๋ ์ฐ์์ ์ธ 5์ผ ๊ฐ์ ์จ๋์ ํฉ์ ์๋์ ๊ฐ์ผ๋ฉฐ, ์ด๋, ์จ๋์ ํฉ์ด ๊ฐ์ฅ ํฐ ๊ฐ์ 31์ด๋ค. ๋งค์ผ ์ธก์ ํ ์จ๋๊ฐ ์ ์์ ์์ด๋ก ์ฃผ์ด์ก์ ๋, ์ฐ์์ ์ธ ๋ฉฐ์น ๋์์ ์จ๋์ ํฉ์ด ๊ฐ์ฅ ํฐ ๊ฐ์ ๊ณ์ฐํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์์ค. ์ ๋ ฅ ์ฒซ์งธ ์ค์๋ ๋ ๊ฐ์ ์ ์ N๊ณผ K๊ฐ ํ ๊ฐ์ ๊ณต๋ฐฑ์ ์ฌ์ด์ ๋๊ณ ์์๋๋ก ์ฃผ์ด์ง๋ค. ์ฒซ..
2022.10.26 -
- [BOJ-11659] ๊ตฌ๊ฐ ํฉ ๊ตฌํ๊ธฐ 4
๋ฌธ์ ์ N๊ฐ๊ฐ ์ฃผ์ด์ก์ ๋, i๋ฒ์งธ ์๋ถํฐ j๋ฒ์งธ ์๊น์ง ํฉ์ ๊ตฌํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์์ค. ์ ๋ ฅ ์ฒซ์งธ ์ค์ ์์ ๊ฐ์ N๊ณผ ํฉ์ ๊ตฌํด์ผ ํ๋ ํ์ M์ด ์ฃผ์ด์ง๋ค. ๋์งธ ์ค์๋ N๊ฐ์ ์๊ฐ ์ฃผ์ด์ง๋ค. ์๋ 1,000๋ณด๋ค ์๊ฑฐ๋ ๊ฐ์ ์์ฐ์์ด๋ค. ์ ์งธ ์ค๋ถํฐ M๊ฐ์ ์ค์๋ ํฉ์ ๊ตฌํด์ผ ํ๋ ๊ตฌ๊ฐ i์ j๊ฐ ์ฃผ์ด์ง๋ค. ์ถ๋ ฅ ์ด M๊ฐ์ ์ค์ ์ ๋ ฅ์ผ๋ก ์ฃผ์ด์ง i๋ฒ์งธ ์๋ถํฐ j๋ฒ์งธ ์๊น์ง ํฉ์ ์ถ๋ ฅํ๋ค. ์ ํ 1 ≤ N ≤ 100,000 1 ≤ M ≤ 100,000 1 ≤ i ≤ j ≤ N ์์ ์ ๋ ฅ 1 5 3 5 4 3 2 1 1 3 2 4 5 5 ์์ ์ถ๋ ฅ 1 12 9 1 ๋ฌธ์ ์ถ์ฒ https://www.acmicpc.net/problem/11659 11659๋ฒ: ๊ตฌ๊ฐ ํฉ ๊ตฌํ๊ธฐ 4 ์ฒซ์งธ ์ค์ ์์ ๊ฐ์ N..
2022.10.26 -
- [Algorithm] ์ค์บ๋ ๋ฉ์๋(Scanning Method)
์ค์บ๋ ๋ฉ์๋(Scanning Method) ์ผ๋ ฌ๋ก ๋์ด๋ ๋ฐ์ดํฐ๊ฐ ์ฃผ์ด์ง ๋, ๋ฌธ์ ์์ ์๊ตฌํ๋ ์ด๋ค ํน์ ๊ตฌ๊ฐ๊ณผ ๊ทธ ๊ตฌ๊ฐ์ ๊ธธ์ด๋ฅผ ๊ตฌํ๊ณ ์ ํ ๋๊ฐ ์๋ค. ์ ์๋์ ๊ฐ์ด ๋ฐฐ์ด a์ 0 ๋๋ 1์ ๋ฐ์ดํฐ๊ฐ ์ฃผ์ด์ง ๋, ์ฐ์์ ์ผ๋ก 1์ด ๋ฐ์๋๋ ์ต๋ ๊ตฌ๊ฐ์ ๊ธธ์ด์ ๊ทธ ๋์ ์์น๋ฅผ ๊ตฌํ๋ผ. X 1 0 1 1 0 1 1 1 1 0 a[0] a[1] a[2] a[3] a[4] a[5] a[6] a[7] a[8] a[9] a[10] ๊ตฌ๊ฐ [1, 1]์๋ ์ฐ์๋ 1์ด 1๊ฐ ๋ฐ์๋์๊ณ , ๊ตฌ๊ฐ [3, 4]์๋ ์ฐ์๋ 1์ด 2๊ฐ ๋ฐ์๋์์ผ๋ฉฐ ๊ตฌ๊ฐ [6, 9]์๋ ์ฐ์๋ 1์ด 4๊ฐ ๋ฐ์๋์๋ค. ์ฌ๊ธฐ์ ์ฐ์์ ์ผ๋ก 1์ด ๋ฐ์๋๋ ์ต๋ ๊ตฌ๊ฐ์ [6, 9]์ด๊ณ , ๊ตฌ๊ฐ์ ๊ธธ์ด๋ 4๊ฐ ๋๋ค. 3์ค for ๋ฌธ์ ์ด์ฉํ์ฌ ๊ตฌํ๊ธฐ ๋ค..
2022.10.26 -
- [Algorithm] ๋ถ๋ถํฉ(Partial Sum) ; ๋์ ํฉ(Prefix Sum)
๋ถ๋ถํฉ(Partial Sum) ; ๋์ ํฉ(Prefix Sum) ์ฐ์๋ ๊ตฌ๊ฐ $start$ ๋ถํฐ $end$ ๊น์ง์ ํฉ ๊ตฌํ๊ธฐ ์ผ์ฐจ์ ๋ฐฐ์ด a๊ฐ ์๋์ ๊ฐ์ด ์ด๊ธฐํ๋์ด ์๋ค. X 10 20 30 40 50 60 70 80 90 100 a[0] a[1] a[2] a[3] a[4] a[5] a[6] a[7] a[8] a[9] a[10] ๋ฐฐ์ด a์์ ์ฐ์๋ ๊ตฌ๊ฐ $start$ ๋ถํฐ $end$ ๊น์ง์ ํฉ์ $\displaystyle \sum_{k=\text{start}}^{\text{end}} a[k] = a[start] + a[start + 1] + \cdots + a[end -1] + a[end]$ ๋ก ์ ์ํ๋ค๋ฉด ($start ≤ end$), ๊ตฌ๊ฐ 5๋ถํฐ ๊ตฌ๊ฐ 9๊น์ง์ ํฉ $\displaystyle \sum_{..
2022.10.26 -
- [BOJ-9020][C++] ๊ณจ๋๋ฐํ์ ์ถ์ธก
๋ฌธ์ 1๋ณด๋ค ํฐ ์์ฐ์ ์ค์์ 1๊ณผ ์๊ธฐ ์์ ์ ์ ์ธํ ์ฝ์๊ฐ ์๋ ์์ฐ์๋ฅผ ์์๋ผ๊ณ ํ๋ค. ์๋ฅผ ๋ค์ด, 5๋ 1๊ณผ 5๋ฅผ ์ ์ธํ ์ฝ์๊ฐ ์๊ธฐ ๋๋ฌธ์ ์์์ด๋ค. ํ์ง๋ง, 6์ 6 = 2 × 3 ์ด๊ธฐ ๋๋ฌธ์ ์์๊ฐ ์๋๋ค. ๊ณจ๋๋ฐํ์ ์ถ์ธก์ ์ ๋ช ํ ์ ์๋ก ์ ๋ฏธํด๊ฒฐ ๋ฌธ์ ๋ก, 2๋ณด๋ค ํฐ ๋ชจ๋ ์ง์๋ ๋ ์์์ ํฉ์ผ๋ก ๋ํ๋ผ ์ ์๋ค๋ ๊ฒ์ด๋ค. ์ด๋ฌํ ์๋ฅผ ๊ณจ๋๋ฐํ ์๋ผ๊ณ ํ๋ค. ๋, ์ง์๋ฅผ ๋ ์์์ ํฉ์ผ๋ก ๋ํ๋ด๋ ํํ์ ๊ทธ ์์ ๊ณจ๋๋ฐํ ํํฐ์ ์ด๋ผ๊ณ ํ๋ค. ์๋ฅผ ๋ค๋ฉด, 4 = 2 + 2, 6 = 3 + 3, 8 = 3 + 5, 10 = 5 + 5, 12 = 5 + 7, 14 = 3 + 11, 14 = 7 + 7์ด๋ค. 10000๋ณด๋ค ์๊ฑฐ๋ ๊ฐ์ ๋ชจ๋ ์ง์ n์ ๋ํ ๊ณจ๋๋ฐํ ํํฐ์ ์ ์กด์ฌํ๋ค. 2๋ณด๋ค ํฐ ์ง์..
2022.10.25 -
- [BOJ-4948][C++] ๋ฒ ๋ฅดํธ๋ ๊ณต์ค
๋ฌธ์ ๋ฒ ๋ฅดํธ๋ ๊ณต์ค์ ์์์ ์์ฐ์ n์ ๋ํ์ฌ, n๋ณด๋ค ํฌ๊ณ , 2n๋ณด๋ค ์๊ฑฐ๋ ๊ฐ์ ์์๋ ์ ์ด๋ ํ๋ ์กด์ฌํ๋ค๋ ๋ด์ฉ์ ๋ด๊ณ ์๋ค. ์ด ๋ช ์ ๋ ์กฐ์ ํ ๋ฒ ๋ฅดํธ๋์ด 1845๋ ์ ์ถ์ธกํ๊ณ , ํํ๋ํฐ ์ฒด๋น์ผํ๊ฐ 1850๋ ์ ์ฆ๋ช ํ๋ค. ์๋ฅผ ๋ค์ด, 10๋ณด๋ค ํฌ๊ณ , 20๋ณด๋ค ์๊ฑฐ๋ ๊ฐ์ ์์๋ 4๊ฐ๊ฐ ์๋ค. (11, 13, 17, 19) ๋, 14๋ณด๋ค ํฌ๊ณ , 28๋ณด๋ค ์๊ฑฐ๋ ๊ฐ์ ์์๋ 3๊ฐ๊ฐ ์๋ค. (17,19, 23) ์์ฐ์ n์ด ์ฃผ์ด์ก์ ๋, n๋ณด๋ค ํฌ๊ณ , 2n๋ณด๋ค ์๊ฑฐ๋ ๊ฐ์ ์์์ ๊ฐ์๋ฅผ ๊ตฌํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์์ค. ์ ๋ ฅ ์ ๋ ฅ์ ์ฌ๋ฌ ๊ฐ์ ํ ์คํธ ์ผ์ด์ค๋ก ์ด๋ฃจ์ด์ ธ ์๋ค. ๊ฐ ์ผ์ด์ค๋ n์ ํฌํจํ๋ ํ ์ค๋ก ์ด๋ฃจ์ด์ ธ ์๋ค. ์ ๋ ฅ์ ๋ง์ง๋ง์๋ 0์ด ์ฃผ์ด์ง๋ค. ์ถ๋ ฅ ๊ฐ ํ ์คํธ ์ผ์ด์ค์ ๋ํด์, n๋ณด๋ค ํฌ๊ณ ..
2022.10.25 -
- [BOJ-1929][C++] ์์ ๊ตฌํ๊ธฐ
๋ฌธ์ M์ด์ N์ดํ์ ์์๋ฅผ ๋ชจ๋ ์ถ๋ ฅํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์์ค. ์ ๋ ฅ ์ฒซ์งธ ์ค์ ์์ฐ์ M๊ณผ N์ด ๋น ์นธ์ ์ฌ์ด์ ๋๊ณ ์ฃผ์ด์ง๋ค. (1 ≤ M ≤ N ≤ 1,000,000) M์ด์ N์ดํ์ ์์๊ฐ ํ๋ ์ด์ ์๋ ์ ๋ ฅ๋ง ์ฃผ์ด์ง๋ค. ์ถ๋ ฅ ํ ์ค์ ํ๋์ฉ, ์ฆ๊ฐํ๋ ์์๋๋ก ์์๋ฅผ ์ถ๋ ฅํ๋ค. ์์ ์ ๋ ฅ 1 3 16 ์์ ์ถ๋ ฅ 1 3 5 7 11 13 ์๊ณ ๋ฆฌ์ฆ ๋ถ๋ฅ ์ํ ์ ์๋ก ์์ ํ์ ์๋ผํ ์คํ ๋ค์ค์ ์ฒด ๋ฌธ์ ์ถ์ฒ https://www.acmicpc.net/problem/1929 1929๋ฒ: ์์ ๊ตฌํ๊ธฐ ์ฒซ์งธ ์ค์ ์์ฐ์ M๊ณผ N์ด ๋น ์นธ์ ์ฌ์ด์ ๋๊ณ ์ฃผ์ด์ง๋ค. (1 ≤ M ≤ N ≤ 1,000,000) M์ด์ N์ดํ์ ์์๊ฐ ํ๋ ์ด์ ์๋ ์ ๋ ฅ๋ง ์ฃผ์ด์ง๋ค. www.acmicpc.net ๋ฌธ์ ํด๊ฒฐ ๋ฐฉ..
2022.10.25