목록Algorithm (7)
Devvy-Is-Free
import sys input = sys.stdin.readline W, N = map(int, input().split()) stone = [] for _ in range(N): mp = list(map(int, input().split())) stone.append(mp) stone.sort(key = lambda x : -x[1]) price = 0 for m, p in stone: if m
import sys input = sys.stdin.readline N, M = map(int, input().split()) W = list(map(int, input().split())) member = [True] * N for _ in range(M): a, b = map(int, input().split()) if W[a - 1] > W[b - 1]: member[b - 1] = False elif W[a - 1] < W[b - 1]: member[a - 1] = False else: member[a - 1] = False member[b - 1] = False answer = 0 for mem in member: if mem == True: answer += 1 print(answer)
기존 작성했던 코드 import sys N = int(sys.stdin.readline()) time = [] for _ in range(N): startTime, endTime = map(int, sys.stdin.readline().split()) time.append([startTime, endTime]) time.sort(key = lambda a: (a[1], a[0])) count = 0 endT = 0 for start, end in time: if start >= endT: count += 1 endT = end print(count) 파이썬의 sorted 함수를 사용하여 정렬하게 되면 O(NlogN)으로 시간 초과 발생 -> 오류 정답 import sys import heapq N = i..
import sys K, P, N = map(int, sys.stdin.readline().split()) print(K * pow(P, N, int(1000000007)) % int(1000000007)) 파이썬 내장함수 pow (base, exp, mod) == (base ** exp) % mod math.pow() math.pow(base, exp) -> 결과값은 항상 float import sys K, P, N = map(int, sys.stdin.readline().split()) print(K * pow(P, N * 10, int(1000000007)) % int(1000000007))
시간 복잡도 : O(NlogN) ✨A[i]보다 작은 A[j]를 가지는 j들 중 가장 큰 B[j]를 찾기✨ (●'◡'●)정답코드(●'◡'●) import sys import bisect N = int(sys.stdin.readline()) stone = list(map(int, sys.stdin.readline().split())) A = [stone[0]] # 앞에서부터 밟는 돌의 높이 A_c = [1] * N # 돌을 밟을 수 있는 개수 for i in range(N): if stone[i] > A[-1]: # 높이가 더 높아진다면 A.append(stone[i]) else: # 이분탐색으로 현재 높이보다 더 작은 높이 중 가장 큰 높이의 index(앞으로)(왜냐면 대체하는 값인거니까) index = ..
import sys N, K = map(int, sys.stdin.readline().split()) score = list(map(int, sys.stdin.readline().split())) for i in range(K): a, b = map(int, sys.stdin.readline().split()) avg = sum(score[a - 1:b]) / (b - a + 1) print('%.2f'%avg) 소수점 둘째자리까지 00으로 출력 print('%.2f'%x)
🎵오늘의 띵곡🎵 After LIKE 아티스트 IVE (아이브) 앨범 After LIKE 발매일 2022.08.22 최장 증가 부분 수열(LIS : Longest Increasing Subsequence) - 동적 계획법 어떤 임의의 수열이 주어질 때, 이 수열에서 몇 개의 수들을 제거해서 부분 수열을 만듦 만들어진 부분 수열 중 오름차순으로 정렬된 가장 긴 수열을 최장 증가 부분 수열 첫 번째 방법 시간 복잡도 : O(N^2) 원본 배열 A, 새로운 배열 B 선언 int A[8] = {3, 5, 7, 9, 2, 1, 4, 8}; B[i] : A [i]를 마지막 값으로 가지는 가장 긴 증가 부분 수열의 길이 i = 0 A[0] = 0 , B[0] = 0 i 0 1 2 3 4 5 6 7 8 A 0 3 5 7..