unordered_map
-
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..
0 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..
0 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..
0 2022.11.09 -
BOJ-1620 [C++] ๋๋์ผ ํฌ์ผ๋ชฌ ๋ง์คํฐ ์ด๋ค์
๋ฌธ์ ์๋ ? ๋ด ์ด๋ฆ์ ์ด๋ค์. ๋์ ๊ฟ์ ํฌ์ผ๋ชฌ ๋ง์คํฐ์ผ. ์ผ๋จ ํฌ์ผ๋ชฌ ๋ง์คํฐ๊ฐ ๋๊ธฐ ์ํด์ ํฌ์ผ๋ชฌ์ ํ ๋ง๋ฆฌ ์ก์์ผ๊ฒ ์ง? ๊ทผ์ฒ ์ฒ์ผ๋ก ๊ฐ์ผ๊ฒ ์ด. (๋๋ฒ ๋๋ฒ ) ์! ๊ผฌ๋ ์ด๋ค. ๊ผฌ๋ ? ๊ท์ฌ์ด๋ฐ, ๋์ ์ฒซ ํฌ์ผ๋ชฌ์ผ๋ก ๋ฑ ์ด์ธ๋ฆฐ๋ฐ? ๋ด๊ฐ ์ก๊ณ ๋ง๊ฒ ์ด. ๊ฐ๋ผ! ๋ชฌ์คํฐ๋ณผ~ (ํ!) ํ๋ญ... ์ ์ ์กํ์ง?ใ ใ ๋ชฌ์คํฐ ๋ณผ๋ง ๋์ง๋ฉด ๋๋ ๊ฒ ์๋๊ฐ...ใ ใ (ํฐ๋ฒ ํฐ๋ฒ ) ์ด? ๋๊ตฌ์ง? ์ค๋ฐ์ฌ : ๋๋ ํ์ด๋ง์์ ํฌ์ผ๋ชฌ ๋ฐ์ฌ ์ค๋ฏผ์ ๋ฐ์ฌ๋ผ๋ค. ๋ค์์, ํฌ์ผ๋ชฌ์ ์ก์ ๋๋, ์ผ๋จ ์๋ ํฌ์ผ๋ชฌ์ ์ฒด๋ ฅ์ ์ ๋นํ ๋ฐ๋ฅ์ผ๋ก ๋ง๋ค์ด๋๊ณ ๋ชฌ์คํฐ ๋ณผ์ ๋์ ธ์ผ ํ๋จ๋ค. ์, ๋ด ํฌ์ผ๋ชฌ ์ด์ํด๊ฝ์ผ๋ก ํ๋ฒ ์ก์๋ณด๋ ด. ํฌ์ผ๋ชฌ์ ๊ธฐ์ ์ ์ฐ๋ ๊ฒ์ ๋ณด๊ณ ํฌ์ผ๋ชฌ์ ์ค์ง ์์ค์ง ๊ฒฐ์ ์ ํ๊ฒ ๋ค. ์ ํ๋ฒ ํด๋ณด์๋ผ. ๋ค์์. ์ด๋ค์ : ์ด์ํด๊ฝ์ด..
0 2022.11.09 -
C++ unordered_map
unordered_map ํน์งmap๋ณด๋ค ๋ ๋น ๋ฅธ ํ์์ ํ๊ธฐ ์ํ ์ปจํ ์ด๋ํด์ ํ ์ด๋ธ(Hash Table)์ ๊ธฐ๋ฐ์ผ๋ก ๊ตฌํ๋์๋ค.์ฝ์ , ์ญ์ , ํ์์ ๋ํด์ O(1) ์ ๋์ ์๊ฐ ๋ณต์ก๋๋ฅผ ๊ฐ์ง๋ค. ๊ฐ์ฅ ์ต์ ์ ๊ฒฝ์ฐ O(N) ์ ๋์ ์๊ฐ ๋ณต์ก๋๋ฅผ ๊ฐ์ง๋ค.map์ ์ฝ์ , ์ญ์ ํ์ ์๊ฐ ๋ณต์ก๋๋ O(logn) ์ด๋ค.์ค๋ณต๋ ๋ฐ์ดํฐ๋ฅผ ํ์ฉํ์ง ์๋๋ค.map์ ๋นํด ๋ฐ์ดํฐ๊ฐ ๋ง์ ๊ฒฝ์ฐ ์๋ฑํ ์ข์ ์ฑ๋ฅ์ ๋ณด์ธ๋ค.ํ์ง๋ง, ํค(Key)๊ฐ ์ ์ฌํ ๋ฐ์ดํฐ๊ฐ ๋ง์ ๊ฒฝ์ฐ, ํด์ ์ถฉ๋๋ก ์ธํด ์ฑ๋ฅ์ด ๋จ์ด์ง ์๋ ์๋ค. ํค๋ ํ์ผunordered_map์ ์ฌ์ฉํ๋ ค๋ฉด ๋ค์์ ํค๋ ํ์ผ์ ๋ถ๋ฌ์์ผ ํ๋ค.#include ๋ฉค๋ฒ ํจ์ ์ฌ์ฉ ๋ฐฉ๋ฒ์์๊ฐ ์ฝ์ ๋ ๋ ํค(Key)๊ฐ ์ ๋ ฌ๋์ง ์๋๋ค๋ ๊ฒ์ ๋นผ๊ณ ๋ map๊ณผ ์ฌ์ฉ..
0 2022.11.08