목록전체 글 (64)
정글에서 온 개발자
문제링크 접근 재귀 재귀라고 써있기도 하고, 구조 자체가 큰 Z 안에 작은 Z가 들어가서 재귀로 접근하기로 함 색종이 자르기 등 다른 재귀와 유사함 재귀 함수 인자로 범위를 나타내는 인자를 주고, 안쪽 재귀에서는 범위를 줄여가면 될 듯 베이스 케이스는 범위가 좁아져서 최종 1일 때 범위는 가로, 세로가 같이 줄어드므로 둘 중에 하나만 검사하면 됨 수학적 계산 R,C가 있는 위치를 기준으로 앞쪽의 구역의 숫자 배치는 상관이 없고 맨 오른쪽 아래 귀퉁이 숫자만 중요함 각 범위별로 시작하는 숫자도 정해져 있음 결국에는 재귀적으로 범위를 줄여나가는 것이 편함 트라이 1. 재귀, 시뮬레이션 N,R,C = map(int, input().split()) M = [[0]*(2**N) for _ in range(2**N..
이런 문법 처음 보는 분 보세요 *a,=map(int,input.split()) Starred Expression(Star Unpacking) a=[1,2,3] b=[4,*a,5] # b=[4,1,2,3,5] 단독으로는 사용될 수 없다. 컨텍스트 안에서 써야 한다. (함수 호출, 리스트 생성 등) 동일한 변수 내에서 여러번 쓸 수 없다. 함수 인자의 언패킹 def func(a,b,c): return a+b+c values = [1,2,3] result = func(*values) list(*map) , print(*str) 도 이렇게 인자를 언패킹해 넘겨주는 것이였다. Extended Unpacking(리스트나 튜플 , 맵 등) 언패킹시 일부 원소들은 별도로 할당하고, 나머지는 다른 변수에 할당 firs..
“프로그래밍” 은 테이블을 이용한 방법을 뜻한다. (컴퓨터와 관련이 없다.) 부분 문제의 해를 결합해 문제를 해결한다. 일반적으로 **최적화 문제(optimization problem)**에 적용한다. 최적화 문제 해와 값을 구분하자 문제의 풀이를 “해(Solution)” 라 한다. 그 풀이가 낸 답을 “값(Value)” 라 한다. 최적해는 각 해의 값 중 최적의 값을 내는 해이다. 최적의 값은 하나이지만 그 값을 내는 해는 여러개이다. 최단 거리(값)를 크루스칼, 프림 등 여러 방법(해)으로 풀 수 있다. 즉 최적화 문제는 여러개의 해를 가진다. 분할정복과의 비교 분할 정복은 서로 겹치지 않는(disjoint) 문제를 부분 문제로 분할한다. DP는 부분문제가 서로 중복될 때(부분 문제끼리 부분문제를 공..