728x90 부분집합2 [BOJ/Python] 1208. 부분수열의 합2 📌 문제 https://www.acmicpc.net/problem/1208 1208번: 부분수열의 합 2 첫째 줄에 정수의 개수를 나타내는 N과 정수 S가 주어진다. (1 ≤ N ≤ 40, |S| ≤ 1,000,000) 둘째 줄에 N개의 정수가 빈 칸을 사이에 두고 주어진다. 주어지는 정수의 절댓값은 100,000을 넘지 않는다. www.acmicpc.net 📌 문제 접근 방법 시간 초과를 피하기 위해 리스트를 2개로 나누어 준다. (N의 최대값은 40으로, 나누지 않고 부분집합을 구할 경우 2^40번의 연산이 필요하다. 둘로 나눌 경우, 2^20 + 2^20번의 연산으로 줄일 수 있다.) left, right로 나눈 두 개의 부분집합에 대해서 나올 수 있는 합의 경우의 수를 구한다. 투 포인터를 활용하.. 2021. 10. 8. [Python] 2차원 배열 2차원 배열 1차원 list를 묶어놓은 list 세로 길이(행의 개수) = N, 가로 길이(열의 개수) = M 일때 2차원 배열 만들기 arr = [[0] * M for _ in range(N)] # 아래와 같은 경우는 안됨!! # 모든 행이 같은 1차원 리스트를 참조하고 있기 때문 arr = [[0]*M]*N 배열 순회 i : 행의 좌표, j : 열의 좌표 행 우선 순회 for i in range(len(Array)): for j in range(len(Array[i])): Array[i][j] 열 우선 순회 for j in range(len(Array[0])): for i in range(len(Array)): Array[i][j] 지그재그 순회 for i in range(len(Array)): .. 2021. 8. 22. 이전 1 다음 728x90