문제https://www.acmicpc.net/problem/28438 풀이첫 번째 시도한 줄씩 입력을 받으면서 '1 r v'인지 '2 c v'인지 구분하며 행렬 연산을 수행했다.더보기N, M, Q = map(int, input().split())mat = [[0 for _ in range(M)] for _ in range(N)]for _ in range(Q) : i, j, k = map(int, input().split()) if i == 1 : r, v = j, k for l in range(len(mat[r-1])) : mat[r-1][l] += v else : c, v = j, k for l in range(len(mat)) : mat[l][c-1] +..
문제https://www.acmicpc.net/problem/2156 풀이n = int(input())amount = []for _ in range(n) : amount.append(int(input()))d = [0] * nif n >= 1 : d[0] = amount[0] if n >= 2 : d[1] = amount[0] + amount[1]if n >= 3 : d[2] = max(amount[0] + amount[2], amount[1] + amount[2], d[1]) # 2번째 와인을 마시지 않는 경우도 고려if n >= 4 : for i in range(3, n) : d[i] = max(d[i-2] + amount[i], d[i-3] + amount[..
문제https://www.acmicpc.net/problem/30804 풀이첫 번째 시도조건 : 두 종류 이하의 과일만 사용탕후루의 최대 길이(N)부터 줄여가면서 모든 가능한 경우에 대해 문제의 조건을 만족하는지를 살폈다.더보기N = int(input())S = list(map(int, input().split()))start, end = 0, Nanswer = 0# 탕후루 길이별로 체크for i in range(N, 0, -1) : for j in range(0, N-i+1) : check = S[j:(j+i)] if len(set(check)) → 시간 초과 두 번째 시도 (성공)조건 : 두 종류 이하의 과일만 사용투 포인터를 사용해 조건에 맞는 가장 긴 부분 리스트를 찾는 문제로 접근했..
문제https://www.acmicpc.net/problem/27966 풀이1번 노드를 가운데에 두고, 나머지 노드들이 모두 1번 노드와 연결된 형태일 때 정점 사이의 거리의 합이 최소가 될 수 있다.N = int(input())print((N-1)**2)for i in range(2, N+1) : print(1, i)