알고리즘 풀이용 (파이썬)
1. 입출력 빠르게 import sys input=sys.stdin.readline 2. 이중 배열 이상 정렬 arr.sort(key=lambda x:(x[0],x[2])) 정렬할 n 번째 칸을 x:에 넣음 (순서대로) 3. [[0, 0], [0, 0], [0, 0]] 같이 배열 초기화 arr=[[0,0,0] for _ in range(n)] 4. 이진탐색 def binary_search(target): start=0 end=len(arr2) while start 0: a, b = b, a % b return a def choiso(a,b): return a * b // choidae(a, b)
2022. 6. 15.
Dynamic programming (동적 프로그래밍)
다이나믹 프로그래밍이란? -> 한번에 해결하기 힘든 문제의 경우 작은 여러개의 문제로 나누어 해결하는 것. 나눠진 작은 문제들은 서로 중복될 수 있는데 중복되는 문제를 매번 계산하지 않고 처음에만 계산 후 결과 값을 저장해 놓고 두번째 부턴 결과 값을 불러오는 방법을 다이나믹 프로그래밍이라 합니다. 주로 재귀함수를 사용하는 문제나 분할정복 문제에 적용 됩니다. //중복되는 값이 많기 때문 백준 문제 : 1463, 11726, 11727, 9095, 10844, 11057, 2193, 9465, 2156, 11053, 11055, 11722, 11054, 1912, 2579, 1699, 2133, 9461, 2225, 2011, 11052
2020. 12. 23.