๐งฎ ์๊ณ ๋ฆฌ์ฆ/-- ๋ฐฑ์ค (BOJ) - Python
-
๋ฌธ์ ๋งํฌ : 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 -
๋ฌธ์ ๋งํฌ : https://www.acmicpc.net/problem/1541 1541๋ฒ: ์์ด๋ฒ๋ฆฐ ๊ดํธ ์ฒซ์งธ ์ค์ ์์ด ์ฃผ์ด์ง๋ค. ์์ ‘0’~‘9’, ‘+’, ๊ทธ๋ฆฌ๊ณ ‘-’๋ง์ผ๋ก ์ด๋ฃจ์ด์ ธ ์๊ณ , ๊ฐ์ฅ ์ฒ์๊ณผ ๋ง์ง๋ง ๋ฌธ์๋ ์ซ์์ด๋ค. ๊ทธ๋ฆฌ๊ณ ์ฐ์ํด์ ๋ ๊ฐ ์ด์์ ์ฐ์ฐ์๊ฐ ๋ํ๋์ง ์๊ณ , 5์๋ฆฌ๋ณด๋ค ๋ง์ด ์ฐ์๋๋ ์ซ์๋ ์๋ค. ์๋ 0์ผ๋ก ์์ํ ์ ์๋ค. www.acmicpc.net ๋ฌธ์ ์กฐ๊ฑด : ์ฒซ๊ธ์๋ ๋ฌด์กฐ๊ฑด ์ซ์๋ก ์์ํ๋ค. -> ์ฒซ ์ซ์๋ถํฐ ~ ๋ง์ด๋์ค(-)๊ฐ ๋์ค๊ธฐ ์ ๊น์ง๋ +๋ก ํด์ผํ๋ค. ๊ทธ๋ฆฌ๊ณ ์ฒซ๋ฒ์งธ ๋ง์ด๋์ค(-) ์ดํ ๋ถํฐ๋ ๊ดํธ๋ก ๋ฌถ๊ธฐ ๋๋ฌธ์ ์ ๋ถ ๋ง์ด๋์ค์ด๋ค. num = list(map(str,input().split("-"))) if "+" in num[0] : # ์ฒซ๋ฒ์งธ ๋ง์ด๋..
๋ฐฑ์ค (boj) 1541 ํ์ด์ฌ - ๋ถ์ฐ์ฒ๋ฆฌ๋ฌธ์ ๋งํฌ : https://www.acmicpc.net/problem/1541 1541๋ฒ: ์์ด๋ฒ๋ฆฐ ๊ดํธ ์ฒซ์งธ ์ค์ ์์ด ์ฃผ์ด์ง๋ค. ์์ ‘0’~‘9’, ‘+’, ๊ทธ๋ฆฌ๊ณ ‘-’๋ง์ผ๋ก ์ด๋ฃจ์ด์ ธ ์๊ณ , ๊ฐ์ฅ ์ฒ์๊ณผ ๋ง์ง๋ง ๋ฌธ์๋ ์ซ์์ด๋ค. ๊ทธ๋ฆฌ๊ณ ์ฐ์ํด์ ๋ ๊ฐ ์ด์์ ์ฐ์ฐ์๊ฐ ๋ํ๋์ง ์๊ณ , 5์๋ฆฌ๋ณด๋ค ๋ง์ด ์ฐ์๋๋ ์ซ์๋ ์๋ค. ์๋ 0์ผ๋ก ์์ํ ์ ์๋ค. www.acmicpc.net ๋ฌธ์ ์กฐ๊ฑด : ์ฒซ๊ธ์๋ ๋ฌด์กฐ๊ฑด ์ซ์๋ก ์์ํ๋ค. -> ์ฒซ ์ซ์๋ถํฐ ~ ๋ง์ด๋์ค(-)๊ฐ ๋์ค๊ธฐ ์ ๊น์ง๋ +๋ก ํด์ผํ๋ค. ๊ทธ๋ฆฌ๊ณ ์ฒซ๋ฒ์งธ ๋ง์ด๋์ค(-) ์ดํ ๋ถํฐ๋ ๊ดํธ๋ก ๋ฌถ๊ธฐ ๋๋ฌธ์ ์ ๋ถ ๋ง์ด๋์ค์ด๋ค. num = list(map(str,input().split("-"))) if "+" in num[0] : # ์ฒซ๋ฒ์งธ ๋ง์ด๋..
2020.03.09 -
๋ฌธ์ ๋งํฌ : https://www.acmicpc.net/problem/1009 1009๋ฒ: ๋ถ์ฐ์ฒ๋ฆฌ ์ ๋ ฅ์ ์ฒซ ์ค์๋ ํ ์คํธ ์ผ์ด์ค์ ๊ฐ์ T๊ฐ ์ฃผ์ด์ง๋ค. ๊ทธ ๋ค์ ์ค๋ถํฐ ๊ฐ๊ฐ์ ํ ์คํธ ์ผ์ด์ค์ ๋ํด ์ ์ a์ b๊ฐ ์ฃผ์ด์ง๋ค. (1 ≤ a < 100, 1 ≤ b < 1,000,000) www.acmicpc.net ๋จ์ํ ๋ฌธ์ ํด๊ฒฐ์ ํ๋ฉด ๊ฐ๋จํ์ง๋ง, ์๊ฐ์ด๊ณผ๊ฐ ์๊พธ ๋ฐ์ํ์ฌ ์ฌ๋ฌ๋ฒ ๊ณ ์ณ์ผํ๋ค. 1์ ์๋ฆฟ์๋ง ์๊ฐ์ ํ๋ฉด ๊ฐ๋จํ ๋ฌธ์ ์๋ค. 1, 5, 6์ ๋ช์ ๊ณฑ์ ํด๋ ๊ทธ๋๋ก ์ถ๋ ฅํ๋ฉด ๋๋ค. ๋๋จธ์ง 2,3,7,8์ ์ ๊ณฑ์ด ๊ฑฐ๋ญ๋จ์ ๋ฐ๋ผ 4๊ฐ์ง ๊ท์น์ ์ํด ์๊ฐ ๋ฌ๋ผ์ง๋ค. 9์ 4๋ 2๊ฐ์ง ๊ท์น์ด ์์๋ค. (์ผ์์๋ฆฟ์๋ง ๋ฐ์ก์๋) 2์ ๊ฑฐ๋ญ์ ๊ณฑ : 2, 4 , 8 , 6 .... ๋ฐ๋ณต 3์ ๊ฑฐ๋ญ์ ๊ณฑ : 3,..
๋ฐฑ์ค(boj) 1009 ํ์ด์ฌ - ๋ถ์ฐ์ฒ๋ฆฌ๋ฌธ์ ๋งํฌ : https://www.acmicpc.net/problem/1009 1009๋ฒ: ๋ถ์ฐ์ฒ๋ฆฌ ์ ๋ ฅ์ ์ฒซ ์ค์๋ ํ ์คํธ ์ผ์ด์ค์ ๊ฐ์ T๊ฐ ์ฃผ์ด์ง๋ค. ๊ทธ ๋ค์ ์ค๋ถํฐ ๊ฐ๊ฐ์ ํ ์คํธ ์ผ์ด์ค์ ๋ํด ์ ์ a์ b๊ฐ ์ฃผ์ด์ง๋ค. (1 ≤ a < 100, 1 ≤ b < 1,000,000) www.acmicpc.net ๋จ์ํ ๋ฌธ์ ํด๊ฒฐ์ ํ๋ฉด ๊ฐ๋จํ์ง๋ง, ์๊ฐ์ด๊ณผ๊ฐ ์๊พธ ๋ฐ์ํ์ฌ ์ฌ๋ฌ๋ฒ ๊ณ ์ณ์ผํ๋ค. 1์ ์๋ฆฟ์๋ง ์๊ฐ์ ํ๋ฉด ๊ฐ๋จํ ๋ฌธ์ ์๋ค. 1, 5, 6์ ๋ช์ ๊ณฑ์ ํด๋ ๊ทธ๋๋ก ์ถ๋ ฅํ๋ฉด ๋๋ค. ๋๋จธ์ง 2,3,7,8์ ์ ๊ณฑ์ด ๊ฑฐ๋ญ๋จ์ ๋ฐ๋ผ 4๊ฐ์ง ๊ท์น์ ์ํด ์๊ฐ ๋ฌ๋ผ์ง๋ค. 9์ 4๋ 2๊ฐ์ง ๊ท์น์ด ์์๋ค. (์ผ์์๋ฆฟ์๋ง ๋ฐ์ก์๋) 2์ ๊ฑฐ๋ญ์ ๊ณฑ : 2, 4 , 8 , 6 .... ๋ฐ๋ณต 3์ ๊ฑฐ๋ญ์ ๊ณฑ : 3,..
2020.03.09 -
๋ฌธ์ ๋งํฌ : https://www.acmicpc.net/problem/18512 18512๋ฒ: ์ ํ ์ ํ ์ฒซ์งธ ์ค์ ๋ ์ฌ๋์ด ํ ๋ฒ์ ๋ฉ๋ฆฌ๋ฐ๊ธฐ๋ฅผ ํ๋ ๊ฑฐ๋ฆฌ X, Y์ ์์ ์ง์ ์ ์์น ๊ฐ P1, P2๊ฐ ๊ฐ๊ฐ ๊ณต๋ฐฑ์ ๊ธฐ์ค์ผ๋ก ๊ตฌ๋ถ๋์ด ์์ฐ์๋ก ์ฃผ์ด์ง๋ค. (1 ≤ X, Y, P1, P2 ≤ 100) www.acmicpc.net ์ฒ์์๋ ๊ท์น์ฑ์ ์ฐพ์์ ์์ธ์ผ๋ -1์ ์ถ๋ ฅํ๋๋ก ์๋ํ๋๋ฐ, ๊ทธ๋ฅ 1000ํ ๊ณ์ฐํด๋ณด๊ณ ๊ฐ์์ง์ ์ ์ง๋์ง ์๋๋ค๋ฉด -1์ ์ถ๋ ฅํ๋๋ก ํ๋ค. *ํ์ด์ฌ ์ฝ๋ x, y , p1, p2 = map(int,input().split()) x_path = [p1] ; y_path=[p2] ; answer = -1 ; cnt = 1 while (True): p1+=x p2+=y x_path.a..
๋ฐฑ์ค(boj) 18512 ํ์ด์ฌ - ์ ํ ์ ํ๋ฌธ์ ๋งํฌ : https://www.acmicpc.net/problem/18512 18512๋ฒ: ์ ํ ์ ํ ์ฒซ์งธ ์ค์ ๋ ์ฌ๋์ด ํ ๋ฒ์ ๋ฉ๋ฆฌ๋ฐ๊ธฐ๋ฅผ ํ๋ ๊ฑฐ๋ฆฌ X, Y์ ์์ ์ง์ ์ ์์น ๊ฐ P1, P2๊ฐ ๊ฐ๊ฐ ๊ณต๋ฐฑ์ ๊ธฐ์ค์ผ๋ก ๊ตฌ๋ถ๋์ด ์์ฐ์๋ก ์ฃผ์ด์ง๋ค. (1 ≤ X, Y, P1, P2 ≤ 100) www.acmicpc.net ์ฒ์์๋ ๊ท์น์ฑ์ ์ฐพ์์ ์์ธ์ผ๋ -1์ ์ถ๋ ฅํ๋๋ก ์๋ํ๋๋ฐ, ๊ทธ๋ฅ 1000ํ ๊ณ์ฐํด๋ณด๊ณ ๊ฐ์์ง์ ์ ์ง๋์ง ์๋๋ค๋ฉด -1์ ์ถ๋ ฅํ๋๋ก ํ๋ค. *ํ์ด์ฌ ์ฝ๋ x, y , p1, p2 = map(int,input().split()) x_path = [p1] ; y_path=[p2] ; answer = -1 ; cnt = 1 while (True): p1+=x p2+=y x_path.a..
2020.02.25