반응형

알고리즘 3

[백준] 2748번: 피보나치 수 2 (python)

www.acmicpc.net/problem/2748 2748번: 피보나치 수 2 피보나치 수는 0과 1로 시작한다. 0번째 피보나치 수는 0이고, 1번째 피보나치 수는 1이다. 그 다음 2번째 부터는 바로 앞 두 피보나치 수의 합이 된다. 이를 식으로 써보면 Fn = Fn-1 + Fn-2 (n ≥ 2)가 www.acmicpc.net def iter(n, cache): if n < 2: cache[n] = n return cache[n] if cache[n] != -1: return cache[n] cache[n] = iter(n-1, cache) + iter(n-2, cache) return cache[n] def fibonacci(n): cache = [-1 for _ in range(n+1)] ret..

[백준] 1103번: 게임 (python)

www.acmicpc.net/problem/1103 1103번: 게임 줄에 보드의 세로 크기 N과 가로 크기 M이 주어진다. 이 값은 모두 50보다 작거나 같은 자연수이다. 둘째 줄부터 N개의 줄에 보드의 상태가 주어진다. 쓰여 있는 숫자는 1부터 9까지의 자연수 또는 www.acmicpc.net import sys sys.setrecursionlimit(10**6) dr = [0, 1, 0,-1] dc = [1, 0,-1, 0] def dfs(r ,c): global state, visited if not(0

[백준] 15686번: 치킨 배달 (python)

www.acmicpc.net/problem/15686 15686번: 치킨 배달 크기가 N×N인 도시가 있다. 도시는 1×1크기의 칸으로 나누어져 있다. 도시의 각 칸은 빈 칸, 치킨집, 집 중 하나이다. 도시의 칸은 (r, c)와 같은 형태로 나타내고, r행 c열 또는 위에서부터 r번째 칸 www.acmicpc.net import sys import itertools def find_location(city, N): home = [] chicken = [] for r in range(N): for c in range(N): if city[r][c] == 1: home.append([r,c]) elif city[r][c] == 2: chicken.append([r,c]) return home, chicke..

반응형