본문 바로가기
320x100

PS84

[CLASS 4]백준 1629번 - 곱셈 1629번 : 곱셈 아주 간단명료한 문제이다. 이 문제를 푸는데 있어서 파이썬의 pow함수를 사용한다면 그냥 날로 먹을수도 있다. pow함수는 인자로 밑, 지수 [, 나누는 수]를 받는다. 그래서 pow(a,b,c)를 사용한다면 문제가 풀린다. 그것도 재귀함수로 푼 것보다 빠르게 작동한다... 그래도 공부하기위해 문제를 푸는 것이니 제대로 풀어야 한다. 내 코드: def power(r): if not r: return 1 elif r == 1: return a if r % 2: return power(r // 2)**2 * a % c else: return power(r // 2)**2 % c a,b,c = map(int,input().split()) print(power(b) % c) 재귀가 들어가서 .. 2021. 3. 3.
[CLASS 4]백준 1149번 - RGB거리 1149번 : RGB거리 누구처럼 얼타지만 않는다면 쉽게 DP로 해결할 수 있을 만한 문제이다. 내 코드: # dawitblog.tistory.com from sys import stdin input = stdin.readline n = int(input()) cost = [] for _ in range(n): cost.append(list(map(int,input().split()))) for i in range(1,n): cost[i][0] = min(cost[i-1][1],cost[i-1][2]) + cost[i][0] cost[i][1] = min(cost[i-1][0],cost[i-1][2]) + cost[i][1] cost[i][2] = min(cost[i-1][1],cost[i-1][0]) .. 2021. 3. 2.
[CLASS 4]백준 15663번, 15666번 - N과 M 15663번 : N과 M (9) 또다시 나온 N과 M문제이다. Itertools내장 모듈을 쓴다면 엄청 쉽게 풀리겠지만 그러면 재미없으므로 그냥 풀어보았다. 내 코드: # dawitblog.tistory.com def comb(length): if length == m: temp = len(resultList) resultList.add(tuple(result)) if temp != len(resultList): print(*result) else: for i in range(n): if not used[i]: used[i] = True result.append(l[i]) comb(length+1) result.pop() used[i] = False n, m = map(int,input().split().. 2021. 2. 28.
[CLASS 4]백준 11725번 - 트리의 부모 찾기 11725번 : 트리의 부모 찾기 핵심적인 생각은, 노드를 받고 각각의 노드 마다 자신이 어떤 노드와 연결되었는지를 저장한 뒤에, 1번 노드부터 시작해서 자신과 연결된 노드를 자식 노드로 설정하고, 그 뒤부터는 DFS혹은 BFS를 돌리면서 계속 자신이 연결된 노드(이미 부모 노드가 정해진 노드 제외)를 자식 노드로 삼으면된다. 내 코드(BFS): # dawitblog.tistory.com from sys import stdin from collections import deque input = stdin.readline n = int(input()) roots = [0]*(n+1) connections = [[] for _ in range(n+1)] for _ in range(n-1): a, b = ma.. 2021. 2. 27.