๋ฌธ์ 1966๋ฒ: ํ๋ฆฐํฐ ํ ์ฌ๋ฌ๋ถ๋ ์๋ค์ํผ ์ฌ๋ฌ๋ถ์ ํ๋ฆฐํฐ ๊ธฐ๊ธฐ๋ ์ฌ๋ฌ๋ถ์ด ์ธ์ํ๊ณ ์ ํ๋ ๋ฌธ์๋ฅผ ์ธ์ ๋ช ๋ น์ ๋ฐ์ ‘์์๋๋ก’, ์ฆ ๋จผ์ ์์ฒญ๋ ๊ฒ์ ๋จผ์ ์ธ์ํ๋ค. ์ฌ๋ฌ ๊ฐ์ ๋ฌธ์๊ฐ ์์ธ๋ค๋ฉด Queue ์๋ฃ๊ตฌ์กฐ์ www.acmicpc.net ๋ฌธ์ ํ์ด ํ๋ฆฐํฐ๋ฅผ ํ๊ธฐ ์ํ ๋ฌธ์ ๋๊ธฐ์ด์ ๋ฌธ์๋ค์ด ์๋ค. ์ด๋, ๊ฐ ๋ฌธ์๋ค์ `์ฐ์ ์์`๋ฅผ ๊ฐ์ง๋ค. ํ(๋ฌธ์ ๋๊ธฐ์ด)์์ ๋ฌธ์๋ฅผ ์ธ์ํ๊ณ ์ ํ ๋ ํ์ ์๋ ๋ฌธ์๋ค ์ค ์ฐ์ ์์๊ฐ ํ๋๋ผ๋ ๋์ ๊ฒ์ด ์๋ค๋ฉด, ํ๋ฆฐํธํ์ง ์๊ณ ํ์ ๋งจ ๋ค๋ก ๋ณด๋ธ๋ค. ์ด๋ ์์ ๋ค๋ฃฌ ํ๋ก๊ทธ๋๋จธ์ค: ํ๋ฆฐํฐ์ ์ ์ฌํ ๋ฌธ์ ์ด๋ค. ๋ฌธ์ ๋ฅผ ํ๊ธฐ ์ํด์ ๋ค์๊ณผ ๊ฐ์ด ์ ๊ทผํ์๋ค. ์ต์ด์ ๋ฌธ์๊ฐ ์์นํ ์ธ๋ฑ์ค๋ฅผ ์๊ธฐ ์ํด `enumerate`๋ฅผ ํ์ฉํ๋ค. `deque`๋ฅผ ํ์ฉํ์ฌ, ์ธ์ ๊ฐ๋ฅ..
๋ฌธ์ 10422๋ฒ: ๊ดํธ ‘(‘, ‘)’ ๋ฌธ์๋ก๋ง ์ด๋ฃจ์ด์ง ๋ฌธ์์ด์ ๊ดํธ ๋ฌธ์์ด์ด๋ผ ํ๋ค. ์ฌ๋ฐ๋ฅธ ๊ดํธ ๋ฌธ์์ด์ด๋ ๋ค์๊ณผ ๊ฐ์ด ์ ์๋๋ค. ()๋ ์ฌ๋ฐ๋ฅธ ๊ดํธ ๋ฌธ์์ด์ด๋ค. S๊ฐ ์ฌ๋ฐ๋ฅธ ๊ดํธ ๋ฌธ์์ด์ด๋ผ๋ฉด, (S)๋ ์ฌ๋ฐ๋ฅธ ๊ดํธ www.acmicpc.net ๋ฌธ์ ํ์ด ๊ดํธ์ ๋ฌธ์์ด์ด ์ฃผ์ด์ง ๋, ์ฌ๋ฐ๋ฅธ ๊ดํธ์ธ์ง ์ฐพ๋ ๋ฌธ์ ์ด๋ค. ์ด ๋ฌธ์ ๋ `DP`๋ก๋ ํ ์ ์์ง๋ง, ์นดํ๋ ์๋ก๋ ํ ์ ์๋ค. ์นดํ๋ ์๋ ์ด์งํธ๋ฆฌ์ ์๋ฅผ ์ ๋ ์ฌ์ฉํ๋ ์์ด์ด๋ค. ์นดํ๋ ์๋ฅผ ํ์ด์ฌ ์ฝ๋๋ก ๋ํ๋ด๋ฉด `factorial(2 * num) // (factorial(num) * factorial(num + 1))`์ด๋ค. ์ด๋ฅผ ํตํด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ ์ ์๋ค. ์ฝ๋ from math import factorial from sys impo..
๋ฌธ์ 14426๋ฒ: ์ ๋์ฌ ์ฐพ๊ธฐ ๋ฌธ์์ด S์ ์ ๋์ฌ๋ S์ ๊ฐ์ฅ ์์์๋ถํฐ ๋ถ๋ถ ๋ฌธ์์ด์ ์๋ฏธํ๋ค. ์๋ฅผ ๋ค์ด, S = "codeplus"์ ์ ๋์ฌ๋ "code", "co", "codepl", "codeplus"๊ฐ ์๊ณ , "plus", "s", "cude", "crud"๋ ์ ๋์ฌ๊ฐ ์๋๋ค. ์ด N๊ฐ์ ๋ฌธ์ www.acmicpc.net ๋ฌธ์ ํ์ด M๊ฐ์ ๋ฌธ์๋ค ์ค N๊ฐ์ ๋ฌธ์์ ์ ๋ฏธ์ฌ๊ฐ ํ๋๋ผ๋ ๋๋์ง ํ์ธํ๋ ๋ฌธ์ ์ด๋ค. ์ ๋ฏธ์ฌ ์ด๋ฏ๋ก ์ฐพ๊ณ ์ ํ๋ ํจํด์ ์์ N๊ฐ์ ๋ฌธ์ ์ค ์ผ์นํ๋์ง ํ์ธํ๋ฉด ์ฝ๊ฒ ํด๊ฒฐํ ์ ์๋ค. ์ฝ๋ split์ ํ์ฉํ ํ์ด from sys import stdin if __name__ == '__main__': n, m = map(int, stdin.readline().split()..
๋ฌธ์ 14425๋ฒ: ๋ฌธ์์ด ์งํฉ ์ฒซ์งธ ์ค์ ๋ฌธ์์ด์ ๊ฐ์ N๊ณผ M (1 ≤ N ≤ 10,000, 1 ≤ M ≤ 10,000)์ด ์ฃผ์ด์ง๋ค. ๋ค์ N๊ฐ์ ์ค์๋ ์งํฉ S์ ํฌํจ๋์ด ์๋ ๋ฌธ์์ด๋ค์ด ์ฃผ์ด์ง๋ค. ๋ค์ M๊ฐ์ ์ค์๋ ๊ฒ์ฌํด์ผ ํ๋ ๋ฌธ์์ด๋ค์ด ์ฃผ์ด www.acmicpc.net ๋ฌธ์ ํ์ด N๊ฐ์ ๋ฌธ์์ด๋ก ์ด๋ฃจ์ด์ง ์งํฉ S๊ฐ ์์ ๋, M๊ฐ์ ๋ฌธ์์ด ์ค ์งํฉ S์ ํฌํจ๋๋ ๋ฌธ์๊ฐ ์ด ๋ช ๊ฐ์ธ์ง ๊ตฌํ๋ ๋ฌธ์ ์ด๋ค. ๋ฌธ์ ๋ฅผ ํ๊ธฐ ์ํด์๋ `๋์ ๋๋ฆฌ`์ `in`์ ํ์ฉํ๋ฉด ์ฝ๊ฒ ํ ์ ์๋ค. M๊ฐ์ ๋ฌธ์์ด ์ค, N์ ํฌํจ๋๋์ง ํ์ธํ๊ธฐ ์ํด์๋ `if pattern in strings`์ ๊ฐ์ด ํ์ธํ๋ฉด ๋๋ค. ํ์ด์ฌ์ `in` ์ฐ์ฐ์ ๋ฆฌ์คํธ์ ๊ฒฝ์ฐ `O(N)`์ ์๊ฐ์ด ์์๋์ง๋ง ๋์ ๋๋ฆฌ์ ๊ฒฝ์ฐ `O(1)`์..
๋ฌธ์ 1305๋ฒ: ๊ด๊ณ ์ฒซ์งธ ์ค์ ๊ด๊ณ ํ์ ํฌ๊ธฐ L์ด ์ฃผ์ด์ง๊ณ , ๋์งธ ์ค์ ํ์ฌ ๊ด๊ณ ํ์ ๋ณด์ด๋ ๋ฌธ์์ด์ด ์ฃผ์ด์ง๋ค. L์ ๋ฐฑ๋ง๋ณด๋ค ์๊ฑฐ๋ ๊ฐ์ ์์ฐ์์ด๋ค. www.acmicpc.net ๋ฌธ์ ํ์ด ์ ๊ดํ์ N๊ฐ์ ๋ฌธ์์ด์ ๊ด๊ณ ๋ฅผ ํ์ํ๋ค. ์ด๋ ์๊ฐ์ด ์ง๋จ์ ๋ฐ๋ผ ๋ฌธ์์ด์ ํ ์นธ์ฉ ์์ผ๋ก ์ด๋ํ๋ค. ์ด๋ ์๊ฐ ๊ด๊ณ ํ์ ๋ณผ ๋, ์ฐ์ฌ ์๋ ๋ฌธ์๊ฐ ์ ๋ ฅ์ผ๋ก ์ฃผ์ด์ง๋ค๋ฉด ๊ฐ๋ฅํ ๊ด๊ณ ์ ๊ธธ์ด ์ค ๊ฐ์ฅ ์งง์ ๊ฒ์ ์ถ๋ ฅํ๋ ๋ฌธ์ ์ด๋ค. ์ด๋ `KMP ์๊ณ ๋ฆฌ์ฆ`์์ ์ ๋ฏธ์ฌ์ ์ ๋์ฌ๊ฐ ๋๋ ๋ฌธ์์ด์ ์ต๋ ๊ธธ์ด๋ฅผ ์์ฑํ๋ฉด ์ฝ๊ฒ ํด๊ฒฐํ ์ ์๋ ๋ฌธ์ ์ด๋ค. ๋ง์ฝ `KMP ์๊ณ ๋ฆฌ์ฆ`์ ๋ํด ์ดํดํ๊ณ ์์ง ์๋ค๋ฉด ๋ฌธ์ ๋ฅผ ํ ์ ์๋ค. ์ฝ๋ def make_table(patten): table = [0] * l j = 0 for i ..
๋ฌธ์ 1701๋ฒ: Cubeditor Cubelover๋ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด Whitespace์ ์ฝ๋ฉ์ ๋์์ฃผ๋ ์ธ์ด์ธ Cubelang์ ๋ง๋ค์๋ค. Cubelang์ ์ด์ฉํด ์ฝ๋ฉ์ ํ๋ค๋ณด๋, ์ ์ ์ด ์ธ์ด์ ๋ง๋ ์๋ก์ด ์๋ํฐ๊ฐ ํ์ํ๊ฒ ๋์๋ค. ์ค๋ ์๊ฐ ๊ณ ์ํ www.acmicpc.net ๋ฌธ์ ํ์ด ์ ๋ ฅ๋ ๋ฌธ์์ด์ ๋ ๋ฒ ์ด์ ๋์ค๋ ๋ถ๋ถ ๋ฌธ์์ด ์ค ๊ฐ์ฅ ๊ธด ๊ธธ์ด๋ฅผ ์ฐพ๋ ๋ฌธ์ ์ด๋ค. ์ด๋ ์์ ๋ค๋ฃฌ 16916 ๋ถ๋ถ ๋ฌธ์์ด, 1786 ์ฐพ๊ธฐ์์ ๋ฌธ์์ด ์ผ์น์ ๋ฐ๋ผ ์ ๋ณด๋ฅผ ์์ฑํ๋ `make_table`์ ํ์ฉํ๋ฉด ํด๊ฒฐํ ์ ์๋ ๋ฌธ์ ์ด๋ค. ์ฝ๋ def make_table(patten): length = len(patten) table = [0] * len(patten) j = 0 for i in range(1..
๋ฌธ์ 1786๋ฒ: ์ฐพ๊ธฐ ์ฒซ์งธ ์ค์, T ์ค๊ฐ์ P๊ฐ ๋ช ๋ฒ ๋ํ๋๋์ง๋ฅผ ๋ํ๋ด๋ ์์ด ์๋ ์ ์๋ฅผ ์ถ๋ ฅํ๋ค. ๋์งธ ์ค์๋ P๊ฐ ๋ํ๋๋ ์์น๋ฅผ ์ฐจ๋ก๋๋ก ๊ณต๋ฐฑ์ผ๋ก ๊ตฌ๋ถํด ์ถ๋ ฅํ๋ค. ์์ปจ๋, T์ i๏ฝi+m-1๋ฒ ๋ฌธ์์ P์ 1๏ฝm www.acmicpc.net ๋ฌธ์ ํ์ด ๋ฌธ์์ด๊ณผ ํจํด์ด ์ฃผ์ด์ง๋ฉด, ์ด๋ฅผ ํตํด ๋ช ๊ฐ๊ฐ ์ผ์นํ๊ณ ์ด๋ ์์น์ ์ผ์นํ๋์ง ๋ฐํํ๋ ๋ฌธ์ ์ด๋ค. ์์ ๋ค๋ฃฌ 16916 ๋ถ๋ถ ๋ฌธ์์ด๊ณผ ๊ฐ์ด `KMP ์๊ณ ๋ฆฌ์ฆ`์ ์ดํดํ๊ณ ์์ผ๋ฉด ์ฝ๊ฒ ํด๊ฒฐํ ์ ์๋ ๋ฌธ์ ์ด๋ค. ์์ ๋ค๋ฃฌ ๋ฌธ์ ์ ๋ค๋ฅธ ์ ์ด ์๋ค๋ฉด ํจํด๊ณผ ์ผ์นํ๋ ๊ฒฝ์ฐ ๋ฐ๋ก ๊ฒฐ๊ณผ๋ฅผ ๋ฐํํ์ง ์๊ณ , ๊ฐ์ ์ถ๊ฐํ์ฌ ๋ชจ๋ ํ์์ด ๋๋ ํ์ ๋ฐํํ๋ ๋ถ๋ถ์ ์์ ํ๋ฉด ๋๋ค. ์ฝ๋ def make_table(): length = len(p) table =..
๋ฌธ์ 1717๋ฒ: ์งํฉ์ ํํ ์ฒซ์งธ ์ค์ n(1≤n≤1,000,000), m(1≤m≤100,000)์ด ์ฃผ์ด์ง๋ค. m์ ์ ๋ ฅ์ผ๋ก ์ฃผ์ด์ง๋ ์ฐ์ฐ์ ๊ฐ์์ด๋ค. ๋ค์ m๊ฐ์ ์ค์๋ ๊ฐ๊ฐ์ ์ฐ์ฐ์ด ์ฃผ์ด์ง๋ค. ํฉ์งํฉ์ 0 a b์ ํํ๋ก ์ ๋ ฅ์ด ์ฃผ์ด์ง๋ค. ์ด๋ a๊ฐ ๏ฟฝ๏ฟฝ www.acmicpc.net ๋ฌธ์ ํ์ด 0๋ถํฐ N๊น์ง ์งํฉ์ ์ด๋ฃฐ ๋, ํฉ์งํฉ ์ฐ์ฐ๊ณผ ๋ ์์๊ฐ ๊ฐ์ ์งํฉ์ ํฌํจ๋์ด ์๋์ง๋ฅผ ํ์ธํ๊ณ ๋ฐํํ๋ ๋ฌธ์ ์ด๋ค. ์ด๋ `Union-Find`๋ฅผ ์ดํดํ๊ณ ๊ตฌํํ๋ฉด ๋ฌธ์ ๋ฅผ ์ฝ๊ฒ ํด๊ฒฐํ ์ ์๋ค. ์ฆ, ํด๋น ์๋ฃ๊ตฌ์กฐ๋ฅผ ๊ทธ๋๋ก ๊ตฌํํ๋ฉด ๋ฌธ์ ๋ฅผ ํ ์ ์๋ค. ์ฝ๋ from sys import stdin def find(target): if target == parent[target]: return target re..