๐งฎ ์๊ณ ๋ฆฌ์ฆ
-
๋ฌธ์ ๋งํฌ : https://www.acmicpc.net/problem/13301 13301๋ฒ: ํ์ผ ์ฅ์๋ฌผ ๋๊ตฌ ๋ฌ์ฑ๊ณต์์ ๋๋ฌ ์จ ์ง์๋ ์ต๊ทผ์ ์๋ก ๋ง๋ ํ์ผ ์ฅ์๋ฌผ์ ๋ณด๊ฒ ๋์๋ค. ํ์ผ ์ฅ์๋ฌผ์ ์ ์ฌ๊ฐํ ํ์ผ์ ๋ถ์ฌ ๋ง๋ ํํ์๋๋ฐ, ํ ๋ณ์ด 1์ธ ์ ์ฌ๊ฐํ ํ์ผ๋ถํฐ ์์ํ์ฌ ๋ง์น ์ต๋ฌด์กฐ๊ฐ์ ๋์ ๋ชจ์์ฒ๋ผ ์ ์ ํฐ ํ์ผ์ ๋ถ์ธ ํํ์๋ค. ํ์ผ ์ฅ์๋ฌผ์ ์ผ๋ถ๋ฅผ ๊ทธ๋ฆฌ๋ฉด ๋ค์๊ณผ ๊ฐ๋ค. ๊ทธ๋ฆผ์์ ํ์ผ์ ์ ํ ์๋ ๊ฐ ํ์ผ์ ํ ๋ณ์ ๊ธธ์ด๋ฅผ ๋ํ๋ธ๋ค. ํ์ผ ์ฅ์๋ฌผ์ ๊ตฌ์ฑํ๋ ์ ์ฌ๊ฐํ ํ์ผ ํ ๋ณ์ ๊ธธ์ด๋ฅผ ์์ชฝ ํ์ผ๋ถํฐ ์์ํ์ฌ ์ฐจ๋ก๋ก ์ ์ผ๋ฉด ๋ค์๊ณผ ๊ฐ๋ค. 1, 1, www.acmicpc.net ํ์ผ์ ๋๋ ๋ค์ ๋์ดํด๋ณด๋ฉด, ํผ๋ณด๋์น์ ๋น์ทํ ํํ์ด๋ค. ์ฌ๊ทํจ์๋ฅผ ์ฐ๋ฉด ์๊ฐ์ด๊ณผ๊ฐ ๋ ๊ฒ ๊ฐ์ ๋ฐ๋ณต๋ฌธ์ผ๋ก ํ์ด๋ณด์๋ค...
๋ฐฑ์ค (boj) 13301 ํ์ด์ฌ - ํ์ผ ์ฅ์๋ฌผ (ํผ๋ณด๋์น ๋ฐ๋ณต๋ฌธ)๋ฌธ์ ๋งํฌ : https://www.acmicpc.net/problem/13301 13301๋ฒ: ํ์ผ ์ฅ์๋ฌผ ๋๊ตฌ ๋ฌ์ฑ๊ณต์์ ๋๋ฌ ์จ ์ง์๋ ์ต๊ทผ์ ์๋ก ๋ง๋ ํ์ผ ์ฅ์๋ฌผ์ ๋ณด๊ฒ ๋์๋ค. ํ์ผ ์ฅ์๋ฌผ์ ์ ์ฌ๊ฐํ ํ์ผ์ ๋ถ์ฌ ๋ง๋ ํํ์๋๋ฐ, ํ ๋ณ์ด 1์ธ ์ ์ฌ๊ฐํ ํ์ผ๋ถํฐ ์์ํ์ฌ ๋ง์น ์ต๋ฌด์กฐ๊ฐ์ ๋์ ๋ชจ์์ฒ๋ผ ์ ์ ํฐ ํ์ผ์ ๋ถ์ธ ํํ์๋ค. ํ์ผ ์ฅ์๋ฌผ์ ์ผ๋ถ๋ฅผ ๊ทธ๋ฆฌ๋ฉด ๋ค์๊ณผ ๊ฐ๋ค. ๊ทธ๋ฆผ์์ ํ์ผ์ ์ ํ ์๋ ๊ฐ ํ์ผ์ ํ ๋ณ์ ๊ธธ์ด๋ฅผ ๋ํ๋ธ๋ค. ํ์ผ ์ฅ์๋ฌผ์ ๊ตฌ์ฑํ๋ ์ ์ฌ๊ฐํ ํ์ผ ํ ๋ณ์ ๊ธธ์ด๋ฅผ ์์ชฝ ํ์ผ๋ถํฐ ์์ํ์ฌ ์ฐจ๋ก๋ก ์ ์ผ๋ฉด ๋ค์๊ณผ ๊ฐ๋ค. 1, 1, www.acmicpc.net ํ์ผ์ ๋๋ ๋ค์ ๋์ดํด๋ณด๋ฉด, ํผ๋ณด๋์น์ ๋น์ทํ ํํ์ด๋ค. ์ฌ๊ทํจ์๋ฅผ ์ฐ๋ฉด ์๊ฐ์ด๊ณผ๊ฐ ๋ ๊ฒ ๊ฐ์ ๋ฐ๋ณต๋ฌธ์ผ๋ก ํ์ด๋ณด์๋ค...
2020.03.13 -
๋ฌธ์ ๋งํฌ : https://www.acmicpc.net/problem/1259 1259๋ฒ: ํฐ๋ฆฐ๋๋กฌ์ ๋ฌธ์ ์ด๋ค ๋จ์ด๋ฅผ ๋ค์์๋ถํฐ ์ฝ์ด๋ ๋๊ฐ๋ค๋ฉด ๊ทธ ๋จ์ด๋ฅผ ํฐ๋ฆฐ๋๋กฌ์ด๋ผ๊ณ ํ๋ค. 'radar', 'sees'๋ ํฐ๋ฆฐ๋๋กฌ์ด๋ค. ์๋ ํฐ๋ฆฐ๋๋กฌ์ผ๋ก ์ทจ๊ธํ ์ ์๋ค. ์์ ์ซ์๋ค์ ๋ค์์๋ถํฐ ์ฝ์ด๋ ๊ฐ๋ค๋ฉด ๊ทธ ์๋ ํฐ๋ฆฐ๋๋กฌ์๋ค. 121, 12421 ๋ฑ์ ํฐ๋ฆฐ๋๋กฌ์๋ค. 123, 1231์ ๋ค์์๋ถํฐ ์ฝ์ผ๋ฉด ๋ค๋ฅด๋ฏ๋ก ํฐ๋ฆฐ๋๋กฌ์๊ฐ ์๋๋ค. ๋ํ 10๋ ํฐ๋ฆฐ๋๋กฌ์๊ฐ ์๋๋ฐ, ์์ ๋ฌด์๋ฏธํ 0์ด ์ฌ ์ ์๋ค๋ฉด 010์ด ๋์ด ํฐ๋ฆฐ๋๋กฌ์๋ก ์ทจ๊ธํ ์๋ ์์ง๋ง, ํน๋ณํ ์ด๋ฒ ๋ฌธ www.acmicpc.net 'ํ ๋งํ ' ์ฒ๋ผ ์์์ ์ฝ์ด๋, ๋ค์์ ์ฝ์ด๋ ๊ฐ์ ๋จ์ด๋ฅผ ์ฐพ๋ ๋ฌธ์ . ๊ธ์ ์๊ฐ ์ง์์ธ ๊ฒฝ์ฐ, ํ์์ธ ๊ฒฝ์ฐ๋ก ๋๋ ์ ์..
๋ฐฑ์ค (boj) 1259 ํ์ด์ฌ - ํฐ๋ฆฐ๋๋กฌ์๋ฌธ์ ๋งํฌ : https://www.acmicpc.net/problem/1259 1259๋ฒ: ํฐ๋ฆฐ๋๋กฌ์ ๋ฌธ์ ์ด๋ค ๋จ์ด๋ฅผ ๋ค์์๋ถํฐ ์ฝ์ด๋ ๋๊ฐ๋ค๋ฉด ๊ทธ ๋จ์ด๋ฅผ ํฐ๋ฆฐ๋๋กฌ์ด๋ผ๊ณ ํ๋ค. 'radar', 'sees'๋ ํฐ๋ฆฐ๋๋กฌ์ด๋ค. ์๋ ํฐ๋ฆฐ๋๋กฌ์ผ๋ก ์ทจ๊ธํ ์ ์๋ค. ์์ ์ซ์๋ค์ ๋ค์์๋ถํฐ ์ฝ์ด๋ ๊ฐ๋ค๋ฉด ๊ทธ ์๋ ํฐ๋ฆฐ๋๋กฌ์๋ค. 121, 12421 ๋ฑ์ ํฐ๋ฆฐ๋๋กฌ์๋ค. 123, 1231์ ๋ค์์๋ถํฐ ์ฝ์ผ๋ฉด ๋ค๋ฅด๋ฏ๋ก ํฐ๋ฆฐ๋๋กฌ์๊ฐ ์๋๋ค. ๋ํ 10๋ ํฐ๋ฆฐ๋๋กฌ์๊ฐ ์๋๋ฐ, ์์ ๋ฌด์๋ฏธํ 0์ด ์ฌ ์ ์๋ค๋ฉด 010์ด ๋์ด ํฐ๋ฆฐ๋๋กฌ์๋ก ์ทจ๊ธํ ์๋ ์์ง๋ง, ํน๋ณํ ์ด๋ฒ ๋ฌธ www.acmicpc.net 'ํ ๋งํ ' ์ฒ๋ผ ์์์ ์ฝ์ด๋, ๋ค์์ ์ฝ์ด๋ ๊ฐ์ ๋จ์ด๋ฅผ ์ฐพ๋ ๋ฌธ์ . ๊ธ์ ์๊ฐ ์ง์์ธ ๊ฒฝ์ฐ, ํ์์ธ ๊ฒฝ์ฐ๋ก ๋๋ ์ ์..
2020.03.12 -
๋ฌธ์ ๋งํฌ : https://www.acmicpc.net/problem/10808 10808๋ฒ: ์ํ๋ฒณ ๊ฐ์ ๋จ์ด์ ํฌํจ๋์ด ์๋ a์ ๊ฐ์, b์ ๊ฐ์, …, z์ ๊ฐ์๋ฅผ ๊ณต๋ฐฑ์ผ๋ก ๊ตฌ๋ถํด์ ์ถ๋ ฅํ๋ค. www.acmicpc.net ์ํ๋ฒณ์ ์นด์ดํ ํ์ฌ ์ถ๋ ฅํด์ผํ๋ค. ๋ฐ๋ผ์ ๋จผ์ 0์ผ๋ก๋ ๋ฐฐ์ด์ ๋ง๋ค์ด ์ค๋ค. (๋ณ์ answer) ๋ค์ answer์ ์๋ฆฟ๊ฐ(์ธ๋ฑ์ค)๋ฅผ ์๊ธฐ ์ํด ์ํ๋ฒณ์์์ ๋ง๋ ๋ฌธ์์ด์ ๋ง๋ ๋ค. ๊ทธ๋ฆฌ๊ณ for๋ฌธ์ ์ด์ฉํ์ฌ ์ ๋ ฅ๋๋ input ๋ฌธ์๋ฅผ ํ๋์ฉ ์๋ฆฟ๊ฐ์ ๋ง๊ฒ +1ํด์ค๋ค. alph = 'abcdefghijklmnopqrstuvwxyz' answer = [0 for _ in range(26)] s = input() for i in s: idx = alph.find(i) answer[..
๋ฐฑ์ค (boj) 10808 ํ์ด์ฌ - ์ํ๋ฒณ ๊ฐ์๋ฌธ์ ๋งํฌ : https://www.acmicpc.net/problem/10808 10808๋ฒ: ์ํ๋ฒณ ๊ฐ์ ๋จ์ด์ ํฌํจ๋์ด ์๋ a์ ๊ฐ์, b์ ๊ฐ์, …, z์ ๊ฐ์๋ฅผ ๊ณต๋ฐฑ์ผ๋ก ๊ตฌ๋ถํด์ ์ถ๋ ฅํ๋ค. www.acmicpc.net ์ํ๋ฒณ์ ์นด์ดํ ํ์ฌ ์ถ๋ ฅํด์ผํ๋ค. ๋ฐ๋ผ์ ๋จผ์ 0์ผ๋ก๋ ๋ฐฐ์ด์ ๋ง๋ค์ด ์ค๋ค. (๋ณ์ answer) ๋ค์ answer์ ์๋ฆฟ๊ฐ(์ธ๋ฑ์ค)๋ฅผ ์๊ธฐ ์ํด ์ํ๋ฒณ์์์ ๋ง๋ ๋ฌธ์์ด์ ๋ง๋ ๋ค. ๊ทธ๋ฆฌ๊ณ for๋ฌธ์ ์ด์ฉํ์ฌ ์ ๋ ฅ๋๋ input ๋ฌธ์๋ฅผ ํ๋์ฉ ์๋ฆฟ๊ฐ์ ๋ง๊ฒ +1ํด์ค๋ค. alph = 'abcdefghijklmnopqrstuvwxyz' answer = [0 for _ in range(26)] s = input() for i in s: idx = alph.find(i) answer[..
2020.03.12 -
๋ฌธ์ ๋งํฌ : https://www.acmicpc.net/problem/11723 11723๋ฒ: ์งํฉ ์ฒซ์งธ ์ค์ ์ํํด์ผ ํ๋ ์ฐ์ฐ์ ์ M (1 ≤ M ≤ 3,000,000)์ด ์ฃผ์ด์ง๋ค. ๋์งธ ์ค๋ถํฐ M๊ฐ์ ์ค์ ์ํํด์ผ ํ๋ ์ฐ์ฐ์ด ํ ์ค์ ํ๋์ฉ ์ฃผ์ด์ง๋ค. www.acmicpc.net import sys input = sys.stdin.readline s = [] def boj(command,x): global s if command == "add": if x not in s: s.append(x) elif command == "remove": if x in s: s.remove(x) elif command == "check": if x in s: print(1) else : print(0) eli..
๋ฐฑ์ค (boj) 11723 ํ์ด์ฌ - ์งํฉ๋ฌธ์ ๋งํฌ : https://www.acmicpc.net/problem/11723 11723๋ฒ: ์งํฉ ์ฒซ์งธ ์ค์ ์ํํด์ผ ํ๋ ์ฐ์ฐ์ ์ M (1 ≤ M ≤ 3,000,000)์ด ์ฃผ์ด์ง๋ค. ๋์งธ ์ค๋ถํฐ M๊ฐ์ ์ค์ ์ํํด์ผ ํ๋ ์ฐ์ฐ์ด ํ ์ค์ ํ๋์ฉ ์ฃผ์ด์ง๋ค. www.acmicpc.net import sys input = sys.stdin.readline s = [] def boj(command,x): global s if command == "add": if x not in s: s.append(x) elif command == "remove": if x in s: s.remove(x) elif command == "check": if x in s: print(1) else : print(0) eli..
2020.03.11 -
*๋ฌธ์ ๋งํฌ : https://www.acmicpc.net/problem/15829 15829๋ฒ: Hashing APC์ ์จ ๊ฒ์ ํ์ํ๋ค. ๋ง์ฝ ์ฌ๋ฌ๋ถ์ด ํ๊ต์์ ์๋ฃ๊ตฌ์กฐ๋ฅผ ์๊ฐํ๋ค๋ฉด ํด์ ํจ์์ ๋ํด ๋ฐฐ์ ์ ๊ฒ์ด๋ค. ํด์ ํจ์๋ ์์์ ๊ธธ์ด์ ์ ๋ ฅ์ ๋ฐ์์ ๊ณ ์ ๋ ๊ธธ์ด์ ์ถ๋ ฅ์ ๋ด๋ณด๋ด๋ ํจ์๋ก ์ ์ํ๋ค. ํด์ ํจ์๋ ๋ฌด๊ถ๋ฌด์งํ ์์ฉ ๋ถ์ผ๋ฅผ ๊ฐ๋๋ฐ, ๋ํ์ ์ผ๋ก ์๋ฃ์ ์ ์ฅ๊ณผ ํ์์ ์ฐ์ธ๋ค. ์ด ๋ฌธ์ ์์๋ ์ฌ๋ฌ๋ถ์ด ์์ผ๋ก ์ ์ฉํ๊ฒ ์ธ ์ ์๋ ํด์ ํจ์๋ฅผ ํ๋ ๊ฐ๋ฅด์ณ์ฃผ๊ณ ์ ํ๋ค. ๋จผ์ , ํธ์์ ์ ๋ ฅ์ผ๋ก ๋ค์ด์ค๋ ๋ฌธ์์ด์๋ ์๋ฌธ ์๋ฌธ์(a, b, ..., z)๋ก๋ง ๊ตฌ www.acmicpc.net ๋ฌธ์ ๊ฐ ๋ฌด์ฒ ๊ธธ์์ง๋ง, ์ฝ๋ ๊ทธ๋๋ก ์ ๊ธฐ๋ง ํ๋ฉด ํ๋ฆฌ๋ ๋ฌธ์ ์๋ค. apb = "abcdefghijklmnopqr..
๋ฐฑ์ค (boj) 15829 ํ์ด์ฌ - Hashing*๋ฌธ์ ๋งํฌ : https://www.acmicpc.net/problem/15829 15829๋ฒ: Hashing APC์ ์จ ๊ฒ์ ํ์ํ๋ค. ๋ง์ฝ ์ฌ๋ฌ๋ถ์ด ํ๊ต์์ ์๋ฃ๊ตฌ์กฐ๋ฅผ ์๊ฐํ๋ค๋ฉด ํด์ ํจ์์ ๋ํด ๋ฐฐ์ ์ ๊ฒ์ด๋ค. ํด์ ํจ์๋ ์์์ ๊ธธ์ด์ ์ ๋ ฅ์ ๋ฐ์์ ๊ณ ์ ๋ ๊ธธ์ด์ ์ถ๋ ฅ์ ๋ด๋ณด๋ด๋ ํจ์๋ก ์ ์ํ๋ค. ํด์ ํจ์๋ ๋ฌด๊ถ๋ฌด์งํ ์์ฉ ๋ถ์ผ๋ฅผ ๊ฐ๋๋ฐ, ๋ํ์ ์ผ๋ก ์๋ฃ์ ์ ์ฅ๊ณผ ํ์์ ์ฐ์ธ๋ค. ์ด ๋ฌธ์ ์์๋ ์ฌ๋ฌ๋ถ์ด ์์ผ๋ก ์ ์ฉํ๊ฒ ์ธ ์ ์๋ ํด์ ํจ์๋ฅผ ํ๋ ๊ฐ๋ฅด์ณ์ฃผ๊ณ ์ ํ๋ค. ๋จผ์ , ํธ์์ ์ ๋ ฅ์ผ๋ก ๋ค์ด์ค๋ ๋ฌธ์์ด์๋ ์๋ฌธ ์๋ฌธ์(a, b, ..., z)๋ก๋ง ๊ตฌ www.acmicpc.net ๋ฌธ์ ๊ฐ ๋ฌด์ฒ ๊ธธ์์ง๋ง, ์ฝ๋ ๊ทธ๋๋ก ์ ๊ธฐ๋ง ํ๋ฉด ํ๋ฆฌ๋ ๋ฌธ์ ์๋ค. apb = "abcdefghijklmnopqr..
2020.03.11 -
*์ฌ๊ท ํจ์ ํจ์๊ฐ ์๊ธฐ ์์ ์ ํธ์ถํ๋ ํจ์. (๋ฐ๋ณต๋ฌธ๊ณผ ๋น์ทํ๋ฏ๋ก ๋ฌดํ๋ฃจํ์ ๋น ์ง์ง ์๊ธฐ ์ํด์๋ ๋ฐ๋์ ํ์ถ ์กฐ๊ฑด์ด ํ์ํ๋ค.) *1๋ถํฐ n๊น์ง์ ํฉ def n_sum(n): if n==1: return 1 return n + n_sum(n-1) 1๋ถํฐ n๊น์ง์ ํฉ์ , ๋ฐ๋ณต๋ฌธ์ ์ฌ์ฉํ์๋์ ์ฌ๊ทํจ์๋ฅผ ์ฌ์ฉํ์๋์ ์ฐจ์ด์ ์ด ์๋ค. ๋ฐ๋ณต๋ฌธ (for~range)์ ์ฌ์ฉํ๋ค๋ฉด, 0๋ถํฐ n์ ํฅํด๊ฐ๋ฉฐ ์ฐ์ฐํ๊ธฐ ๋๋ฌธ์ bottom-up ๋ฐฉ์ ์ฌ๊ทํจ์์ ๊ฒฝ์ฐ๋ n๋ถํฐ ์์ํ์ฌ 0์ ํฅํ์ฌ ์ฐ์ฐํ๊ธฐ ๋๋ฌธ์ top-down๋ฐฉ์์ด๋ผ๊ณ ํ๋ค. * ํฉํ ๋ฆฌ์ผ ํฉํ ๋ฆฌ์ผ : n! = 1*2*3........*n def factorial(n): if n == 1 : return 1 print(n) return n * n_su..
์ฌ๊ทํจ์ (ํฉํ ๋ฆฌ์ผ, ํผ๋ณด๋์น)*์ฌ๊ท ํจ์ ํจ์๊ฐ ์๊ธฐ ์์ ์ ํธ์ถํ๋ ํจ์. (๋ฐ๋ณต๋ฌธ๊ณผ ๋น์ทํ๋ฏ๋ก ๋ฌดํ๋ฃจํ์ ๋น ์ง์ง ์๊ธฐ ์ํด์๋ ๋ฐ๋์ ํ์ถ ์กฐ๊ฑด์ด ํ์ํ๋ค.) *1๋ถํฐ n๊น์ง์ ํฉ def n_sum(n): if n==1: return 1 return n + n_sum(n-1) 1๋ถํฐ n๊น์ง์ ํฉ์ , ๋ฐ๋ณต๋ฌธ์ ์ฌ์ฉํ์๋์ ์ฌ๊ทํจ์๋ฅผ ์ฌ์ฉํ์๋์ ์ฐจ์ด์ ์ด ์๋ค. ๋ฐ๋ณต๋ฌธ (for~range)์ ์ฌ์ฉํ๋ค๋ฉด, 0๋ถํฐ n์ ํฅํด๊ฐ๋ฉฐ ์ฐ์ฐํ๊ธฐ ๋๋ฌธ์ bottom-up ๋ฐฉ์ ์ฌ๊ทํจ์์ ๊ฒฝ์ฐ๋ n๋ถํฐ ์์ํ์ฌ 0์ ํฅํ์ฌ ์ฐ์ฐํ๊ธฐ ๋๋ฌธ์ top-down๋ฐฉ์์ด๋ผ๊ณ ํ๋ค. * ํฉํ ๋ฆฌ์ผ ํฉํ ๋ฆฌ์ผ : n! = 1*2*3........*n def factorial(n): if n == 1 : return 1 print(n) return n * n_su..
2020.03.10