본문 바로가기

Programming [Python]

(411)
#210 백준 파이썬 [11051] 이항 계수 2 https://www.acmicpc.net/problem/11051 #Solution 반복문으로 풀어준다. 뭔가 다른(?) 방법으로 풀어야 할 것 같은 느낌이지만 간단하게 풀리니 이 것으로 한다. n, m = map(int, input().split()) answer = 1 k = n - m while n > k: answer *= n n -= 1 while m > 1: answer = answer // m m -= 1 print(answer%10007)
#209 백준 파이썬 [1010] 다리 놓기 - 조합 https://www.acmicpc.net/problem/1010 #Solution 좌측의 모든 사이트와 연결되어야하므로 우측의 m개 중 n개를 뽑는 조합의 수 mCn 이다. 어차피 겹치면 안되고 순서대로 정렬되어야하니, 조합을 사용하는 것. T = int(input()) for _ in range(T): m, n = map(int, input().split()) answer = 1 k = n - m while n > k: answer *= n n -= 1 while m > 1: answer = answer // m m -= 1 print(answer)
#208 백준 파이썬 [1252] 이진수 덧셈 https://www.acmicpc.net/problem/1252 #Solution A, B = map(str, input().split()) A = int(A, 2) B = int(B, 2) C = A + B print(bin(C)[2:])
#207 백준 파이썬 [1629] 곱셈 https://www.acmicpc.net/problem/1629 #Solution 사실 이렇게 야매? 로 푸는 문제가 아니라, 재귀 함수로 풀어줘야 하는 문제이다. A, B, C = map(int, input().split()) print(pow(A, B, C))
#206 백준 파이썬 [2407] 조합 https://www.acmicpc.net/problem/2407 #Solution n, m = map(int, input().split()) answer = 1 k = n - m while n > k: answer *= n n -= 1 while m > 1: answer = answer // m m -= 1 print(answer)
#205 백준 파이썬 [11179] 2진수 뒤집기 https://www.acmicpc.net/problem/11179 #Solution print(int(''.join(reversed(bin(int(input()))[2:])),2))
#204 백준 파이썬 [2133] 타일 채우기 - 점화식 https://www.acmicpc.net/problem/2133 #Solution 규칙을 찾는 데 꽤 애먹은 도형이다. 1) 홀수 번째는 만들 수 없다. 따라서 0 2) 짝수 번째는 이전에 만든 것들에 영향을 받는다. 3) 2,4,6,8,10... 이 순서로 간다고 했을 때, n = (n-2) * 3 + (n ~ n-4) * 2 + 2 도형을 그리다보면 최댓값일 때 자기 자신만이 가질 수 있는 도형이 무엇인지 알 수 있다. 대충 양옆에 하나만 서있고 나머지 다 누워있는 도형 def tiles(n): answer = [0] * (n + 1) if n % 2 == 1: return 0 for i in range(2, n + 1, 2): if i == 2: answer[i] = 3 else: for j in..
#203 백준 파이썬 [1550] 16진수 https://www.acmicpc.net/problem/1550 #Solution print(int(input(), 16))