목록문제 (388)
sm 기술 블로그
import java.util.*; import java.io.*; class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); StringBuilder sb = new StringBuilder(); String S = br.readLine(); int q = Integer.parseInt(br.readLine()); int[] alphabetTmp = new int[26]; int[][] alphabet = new int[S.length()][26]; for (int i = 0; i < S.length(..
import sys input = sys.stdin.readline S = list(input().strip()) q = int(input()) result = "" alpSum = [] alphabet = [0]*26 for val in S: alphabet[ord(val) - 97] += 1 # 카운팅 정렬 소스 alpSum.append(alphabet[:]) for _ in range(q): a,l,r = input().split() l = int(l) r = int(r) tmp = 0 tmp = alpSum[r][ord(a) - 97] if l != 0: tmp -= alpSum[l-1][ord(a) - 97] # 누적합이기 때문에 -1 result += str(tmp) + "\n" print(r..
import java.util.*; import java.io.*; class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); String[] tmp1 = br.readLine().split(" "); int N = Integer.parseInt(tmp1[0]); int K = Integer.parseInt(tmp1[1]); int[] numSum = new int[N + 1]; ArrayList numArr = new ArrayList(); int sum = 0; String[] tmp2 = br.re..
import sys input = sys.stdin.readline N,K = map(int,input().split()) num = list(map(int,input().split())) sum = 0 numSum = [0] numArr = [] for val in num: sum += val numSum.append(sum) for i in range(K, N+1): numArr.append(numSum[i] - numSum[i-K]) print(max(numArr)) 문제요약 측정한 온도 전체 날짜는 N이다. K는 합을 구하기 위한 연속적 날짜 수이다. 날짜 N 의 연속적인 날짜 K의 합은 얼마인가? 설명 누적합을 쓰면 매우 빠르게 문제를 풀 수 있다. 맨위는 입력받은 값이고 그 입력받은 값을 기준..