백준 3

[백준][Python] 17123 배열놀이

처음에 그냥 matrix에 넣었다가 시간초과나고 합연산은 한번에 하는걸로 코드 수정. 통과 import sys input = sys.stdin.readline for test in range(int(input())): N,M = map(int,input().split()) matrix = [list(map(int,input().split())) for _ in range(N)] ans = [[] for _ in range(2)] for i in range(N): ans[0].append(sum(matrix[i])) for i in range(N): ans[1].append(sum(matrix[m][i] for m in range(N))) for _ in range(M): r1,c1,r2,c2,v = ma..

[백준][Python] 13398 연속합 2

n = int(input()) lst = list(map(int, input().split())) # 원소 제외 없는 결과, 원소 하나 제외한 결과 dp = [[0, 0] for _ in range(n)] # 초깃값 : 나자신 or 나를 제외한 경우. dp[0] = [lst[0], -999999999] for i in range(1, n): # 끊고 출발하거나 이전에꺼에 덧붙히거나. dp[i][0] = max(dp[i - 1][0] + lst[i], lst[i]) # 이전까지의 합에 나를 제외한 경우.(+0이 생략된 값을 이어붙힘), 이전까지의 합에 나를 붙힌경우(생략x) # => 앞에서 -가 생략이 됐고 그게 최적이라면 dp[i-1][1]+lst[i]가 더 커야하고 아니라면 # 앞의 생략이 최적이 아니..

[백준] 틀렸을 시 원인 분석.

틀렸습니다 : output이 틀렷을 경우. testcase 초기화를 잘해줘야함. 시간초과 : 시간복잡도 제한을 못맞췄을 경우. => 보통 추상화 알고리즘을 잘못썼거나, 변하지 않는 dp값을 여러번 계산했을 경우(계산값 저장을 하지 않는 경우), 내장함수 계산값을 저장해두지 않고 반복문마다 돌리는 경우 => 파이썬에서 어떤 값이 같은지 비교할 때 == 대신 is를 사용하면 안됨. ++list를 큐 또는 덱으로 사용하면 절대 안됨. 반드시 collection.deque를 써야함. 런타임 에러 : 실행 시 나타나는 type, index접근 등 에러, 재귀함수가 있는 경우에는 재귀 깊이 제한인 sys.setrecursionlimit(100000)을 써줘야함. 메모리 초과 : sys.setrecursionlimi..

practivceAlgorithm 2021.07.10