๐งฎ ์๊ณ ๋ฆฌ์ฆ
-
๋ฌธ์ ๋งํฌ : 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 -
๋ฌธ์ ๋งํฌ : https://www.acmicpc.net/problem/10825 10825๋ฒ: ๊ตญ์์ ์ฒซ์งธ ์ค์ ๋ํ์ด๋ค ๋ฐ์ ํ์์ ์ N (1 ≤ N ≤ 100,000)์ด ์ฃผ์ด์ง๋ค. ๋์งธ ์ค๋ถํฐ ํ ์ค์ ํ๋์ฉ ๊ฐ ํ์์ ์ด๋ฆ, ๊ตญ์ด, ์์ด, ์ํ ์ ์๊ฐ ๊ณต๋ฐฑ์ผ๋ก ๊ตฌ๋ถํด ์ฃผ์ด์ง๋ค. ์ ์๋ 1๋ณด๋ค ํฌ๊ฑฐ๋ ๊ฐ๊ณ , 100๋ณด๋ค ์๊ฑฐ๋ ๊ฐ์ ์์ฐ์์ด๋ค. ์ด๋ฆ์ ์ํ๋ฒณ ๋์๋ฌธ์๋ก ์ด๋ฃจ์ด์ง ๋ฌธ์์ด์ด๊ณ , ๊ธธ์ด๋ 10์๋ฆฌ๋ฅผ ๋์ง ์๋๋ค. www.acmicpc.net ๋ฆฌ์คํธ์ ์์ ์ธ๋ฑ์ค๋ฅด ๊ธฐ์ค์ผ๋ก sortํ๋ ๋ฐฉ๋ฒ์ ์์์ผ ํ๋ค. arr.sort(key=lambda x: x[0] ) -> x[0]๋ฒ ๊ธฐ์ค์ผ๋ก sort *๋ด ์ฝ๋ N = int(input()) ; arr = [] for _ in range(N): arr..
๋ฐฑ์ค(boj) 10825 ํ์ด์ฌ - ๊ตญ์์๋ฌธ์ ๋งํฌ : https://www.acmicpc.net/problem/10825 10825๋ฒ: ๊ตญ์์ ์ฒซ์งธ ์ค์ ๋ํ์ด๋ค ๋ฐ์ ํ์์ ์ N (1 ≤ N ≤ 100,000)์ด ์ฃผ์ด์ง๋ค. ๋์งธ ์ค๋ถํฐ ํ ์ค์ ํ๋์ฉ ๊ฐ ํ์์ ์ด๋ฆ, ๊ตญ์ด, ์์ด, ์ํ ์ ์๊ฐ ๊ณต๋ฐฑ์ผ๋ก ๊ตฌ๋ถํด ์ฃผ์ด์ง๋ค. ์ ์๋ 1๋ณด๋ค ํฌ๊ฑฐ๋ ๊ฐ๊ณ , 100๋ณด๋ค ์๊ฑฐ๋ ๊ฐ์ ์์ฐ์์ด๋ค. ์ด๋ฆ์ ์ํ๋ฒณ ๋์๋ฌธ์๋ก ์ด๋ฃจ์ด์ง ๋ฌธ์์ด์ด๊ณ , ๊ธธ์ด๋ 10์๋ฆฌ๋ฅผ ๋์ง ์๋๋ค. www.acmicpc.net ๋ฆฌ์คํธ์ ์์ ์ธ๋ฑ์ค๋ฅด ๊ธฐ์ค์ผ๋ก sortํ๋ ๋ฐฉ๋ฒ์ ์์์ผ ํ๋ค. arr.sort(key=lambda x: x[0] ) -> x[0]๋ฒ ๊ธฐ์ค์ผ๋ก sort *๋ด ์ฝ๋ N = int(input()) ; arr = [] for _ in range(N): arr..
2020.02.16 -
๋ฌธ์ ๋งํฌ :https://www.acmicpc.net/problem/11650 11650๋ฒ: ์ขํ ์ ๋ ฌํ๊ธฐ ์ฒซ์งธ ์ค์ ์ ์ ๊ฐ์ N (1 ≤ N ≤ 100,000)์ด ์ฃผ์ด์ง๋ค. ๋์งธ ์ค๋ถํฐ N๊ฐ์ ์ค์๋ i๋ฒ์ ์ ์์น xi์ yi๊ฐ ์ฃผ์ด์ง๋ค. (-100,000 ≤ xi, yi ≤ 100,000) ์ขํ๋ ํญ์ ์ ์์ด๊ณ , ์์น๊ฐ ๊ฐ์ ๋ ์ ์ ์๋ค. www.acmicpc.net ์ํ ๋ง ํ ์ค ์๋ฉด ๋๋๋ ๋ฌธ์ ์๋ค. N = int(input()) array = [] for _ in range(N): x, y = map(int,input().split()) array.append((x,y)) array.sort() array.sort(key= lambda x : x[0]) for i in array : #์ถ๋ ฅ..
๋ฐฑ์ค (boj) 11650 ํ์ด์ฌ - ์ขํ ์ ๋ ฌํ๊ธฐ๋ฌธ์ ๋งํฌ :https://www.acmicpc.net/problem/11650 11650๋ฒ: ์ขํ ์ ๋ ฌํ๊ธฐ ์ฒซ์งธ ์ค์ ์ ์ ๊ฐ์ N (1 ≤ N ≤ 100,000)์ด ์ฃผ์ด์ง๋ค. ๋์งธ ์ค๋ถํฐ N๊ฐ์ ์ค์๋ i๋ฒ์ ์ ์์น xi์ yi๊ฐ ์ฃผ์ด์ง๋ค. (-100,000 ≤ xi, yi ≤ 100,000) ์ขํ๋ ํญ์ ์ ์์ด๊ณ , ์์น๊ฐ ๊ฐ์ ๋ ์ ์ ์๋ค. www.acmicpc.net ์ํ ๋ง ํ ์ค ์๋ฉด ๋๋๋ ๋ฌธ์ ์๋ค. N = int(input()) array = [] for _ in range(N): x, y = map(int,input().split()) array.append((x,y)) array.sort() array.sort(key= lambda x : x[0]) for i in array : #์ถ๋ ฅ..
2020.02.11 -
*n! (Factorial, ํฉํ ๋ฆฌ์ผ) 1๋ถํฐ ์์ฐ์ n๊น์ง์ ๋ชจ๋ ์๋ฅผ ์ฐจ๋ก๋๋ก ๊ณฑํ๋๊ฒ. (์ฃผ์ 0! = 1) math๋ชจ๋ ํ์ด์ฌ์์ ํฉํ ๋ฆฌ์ผ์ ๊ตฌํ ๋๋ math๋ชจ๋์ ์ด์ฉํ๋ฉด ๋ฉ๋๋ค. import math math.factorial(5) *nPr (permutation, ์์ด) ์ด๋ฆ๋๋ก ๋ฝ์์, ์ค์ ์ธ์ฐ๋ ์ํฉ์์ ์์ด์ ์ฌ์ฉํฉ๋๋ค. (์ค์ ์ธ์ด๋ค๋๊ฒ์ ์์O ๋ผ๋ ๋ป) ์ฆ, ์์๊ฐ ์์๋. ๊ทธ๋ฆฌ๊ณ ์ค๋ณต์ด ์์๋ ์ฌ์ฉํฉ๋๋ค. n : ์ ์ฒด ๊ฐ์ r : ๋ฝ์ ๊ฐ์ itertools ๋ชจ๋ - permutations ํจ์ ํ์ด์ฌ์๋ ์์ด์ ๊ตฌํ ์ ์๋ ๋ด์ฅํจ์๊ฐ ์์ต๋๋ค. import itertools alphabet = ["a","b","c"] w = itertools.permutations(alph..
์์ด๊ณผ ์กฐํฉ ( n! , nPr , nCr ) - (itertools) combinations, permutations + ์ค๋ณต์์ด, ์ค๋ณต์กฐํฉ*n! (Factorial, ํฉํ ๋ฆฌ์ผ) 1๋ถํฐ ์์ฐ์ n๊น์ง์ ๋ชจ๋ ์๋ฅผ ์ฐจ๋ก๋๋ก ๊ณฑํ๋๊ฒ. (์ฃผ์ 0! = 1) math๋ชจ๋ ํ์ด์ฌ์์ ํฉํ ๋ฆฌ์ผ์ ๊ตฌํ ๋๋ math๋ชจ๋์ ์ด์ฉํ๋ฉด ๋ฉ๋๋ค. import math math.factorial(5) *nPr (permutation, ์์ด) ์ด๋ฆ๋๋ก ๋ฝ์์, ์ค์ ์ธ์ฐ๋ ์ํฉ์์ ์์ด์ ์ฌ์ฉํฉ๋๋ค. (์ค์ ์ธ์ด๋ค๋๊ฒ์ ์์O ๋ผ๋ ๋ป) ์ฆ, ์์๊ฐ ์์๋. ๊ทธ๋ฆฌ๊ณ ์ค๋ณต์ด ์์๋ ์ฌ์ฉํฉ๋๋ค. n : ์ ์ฒด ๊ฐ์ r : ๋ฝ์ ๊ฐ์ itertools ๋ชจ๋ - permutations ํจ์ ํ์ด์ฌ์๋ ์์ด์ ๊ตฌํ ์ ์๋ ๋ด์ฅํจ์๊ฐ ์์ต๋๋ค. import itertools alphabet = ["a","b","c"] w = itertools.permutations(alph..
2020.02.06