목록문제 (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)); String N = br.readLine(); int result = 0; N = N.replace("-", " "); String[] sbits = N.split(" "); for (int i = 0; i < sbits.length; i++) { if (sbits[i].indexOf("+") != -1) { String tmp = sbits[i].replace("+", " ")..
import sys input = sys.stdin.readline N = input() result = 0 Nplus = N.replace("-"," ") tmp1 = list(Nplus.split()) for i in range(len(tmp1)): if (tmp1[i].find("+") != -1): tmp2 = tmp1[i].replace("+"," ") plusList = list(map(int, tmp2.split())) tmp1[i] = str(sum(plusList)) tmp1 = list(map(int, tmp1)) if len(tmp1) > 1: result = tmp1[0] del tmp1[0] for val in tmp1: result -= val else: result = tmp1..
import java.util.*; import java.io.*; class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); int N = Integer.parseInt(br.readLine()); String[] sBits = br.readLine().split(" "); int[] P = new int[N]; int tmp = 0; for (int i = 0; i < N; i++) { P[i] = Integer.parseInt(sBits[i]); } Arrays.sort(P); for (int i ..
import sys input = sys.stdin.readline N = int(input()) P = sorted(list(map(int, input().split()))) tmp = 0 for i in range(N): tmp += P[i] P[i] = tmp print(sum(P)) 문제요약 N명의 사람이 ATM에서 돈을 뽑을 때 가장 적게 드는 방법은? 설명 각 사람이 P시간이 걸린다. 시간을 오름차순으로 정렬하면 필요한 시간의 합의 최소값을 구할 수 있다. P = sorted(list(map(int, input().split()))) 따라서 먼저 받은 값을 오름차순으로 정렬한다. for i in range(N): tmp += P[i] P[i] = tmp 누적합을 저장해준다. print(sum(..