코드 # n은 최대 100000, k는 n보다 작거나 같은 수 # 최악의 경우 10^10, O(nlogn) 이하로 해결해야함 n,k = map(int, input().split()) numlst = [*map(int, input().split())] res = -987654321 # -100이 100000개일 경우 대비해서 작은 수 할당 arr_sum = [0]*(n+1) # 구간합을 구해 줄 리스트 for i in range(1,n+1): arr_sum[i] = arr_sum[i-1] + numlst[i-1] for i in range(1,n+1): if i+k > n+1: break # 범위를 벗어나면 탈출 # ex)10일까지의 온도합에서 5일차까지의 온도합을 빼면 6~10의 온도 합이 나온다 tem..
수열
코드 import sys input = sys.stdin.readline n = int(input()) series = list(map(int, input().split())) sorted_series = sorted(series) # 정렬된 리스트 복사 new_series = [] # 새로운 수열 for i in range(n): k = sorted_series.index(series[i]) # 정렬된 리스트에서 원래 수열이 있는 인덱스를 찾고 new_series.append(k) # 새로운 수열을 만들어 준다. sorted_series[k] += 10000 # index는 처음 만나는 인덱스를 반환해주므로 10000을 더해주면 해당 X print(*new_series) 수의 크기가 1000보다 작거나..