N으로 표현
링크텍스트
def solution(N, number):
s = [set() for x in range(8)]
for i, x in enumerate(s, start = 1):
x.add(int(str(N) * i))
for i in range(1, len(s)):
for j in range(i):
for op1 in s[j]:
for op2 in s[i - j - 1]:
s[i].add(op1 + op2)
s[i].add(op1 - op2)
s[i].add(op1 * op2)
if op2 != 0:
s[i].add(op1 // op2)
if number in s[i]:
answer = i + 1
break
else:
answer = -1
return answer
정수 삼각형
링크텍스트
import sys
n = int(sys.stdin.readline())
array = []
for _ in range(n):
array.append(list(map(int, sys.stdin.readline().split())))
for i in range(1, n):
for j in range(i+1):
if (j==0):
array[i][j] += array[i-1][j]
elif (j==i):
array[i][j] += array[i-1][j-1]
else:
array[i][j] += max(array[i-1][j-1], array[i-1][j])
print(max(array[n-1]))
등굣길
링크텍스트
def solution(m, n, puddles):
memo = [[0 for _ in range(m+1)] for _ in range(n+1)]
for col, row in puddles:
memo[row][col] = -1
memo[1][1] = 1
def dp(row, col):
if row < 1 or col < 1 or memo[row][col] < 0:
return 0
if memo[row][col] > 0:
return memo[row][col]
memo[row][col] = dp(row, col-1) + dp(row-1, col)
return memo[row][col]
return dp(n, m) % 1000000007