최's 먹공로그
SW expert Academy 1859_백만 장자 프로젝트 본문
https://www.swexpertacademy.com/main/code/problem/problemDetail.do
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68 |
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Scanner;
import java.util.StringTokenizer;
/**
* 1859. 백만 장자 프로젝트
*/
public class Z23_SWExpert1859_백만장자프로젝트 {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int TC = Integer.parseInt((br.readLine().trim())); // trim : 문자열 앞뒤에 whitespace (공백 , 탭, 줄바꿈) 제거
for (int t = 1; t <= TC; t++) {
int N = Integer.parseInt((br.readLine().trim())); // 3
StringTokenizer st = new StringTokenizer(br.readLine(), " "); // split 대신 쓰는거 더 빠름 , 10 7 6
int[] arr = new int[N];
for (int i = 0; i < N; i++) {
arr[i] = Integer.parseInt((st.nextToken())); // arr = {10, 7, 6}
}
long sum = 0; // 마진의 누적합을 저장할 변수(최악의 경우 값의 범위를 고려해서 변수타입지정)
int max = 0; // 매매가의 최대값을 저장할 변수
for (int i = N-1; i >= 0; i--) { // 뒤에서 부터 시작
if(max < arr[i]) { // 구매x , 뒤에서 앞으로 갈때 앞에 값이 계속 더 크면 구매 안해야됨
max = arr[i];
} else { // 최대값이 아닌 경우
int num = max - arr[i]; // 현재의 마진
sum += num; // 누적
}
}
System.out.println("#" + t + " " + sum);
} // end of t
} // end of main
}
/*public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
sc.nextLine();
int TC = sc.nextInt();
for (int t = 1; t <= TC; t++) {
int N = sc.nextInt();
int[] arr = new int[N];
for (int i = 0; i < N; i++) {
arr[i] = sc.nextInt();
}
long sum = 0; // 마진의 누적합을 저장할 변수(최악의 경우 값의 범위를 고려해서 변수타입지정)
int max = 0; // 매매가의 최대값을 저장할 변수
for (int i = N-1; i >= 0; i--) { // 뒤에서 부터 시작
if(max < arr[i]) { // 구매x
max = arr[i];
} else { // 최대값이 아닌 경우
int num = max - arr[i]; // 현재의 마진
sum += num; // 누적
}
}
System.out.println("#" + t + " " + sum);
} // end of t
} // end of main
*/
// } // end of class
|
cs |
'APS' 카테고리의 다른 글
SW expert Academy 1228_[S/W 문제해결 기본]8일차_암호문1 (0) | 2019.02.04 |
---|---|
SW expert Academy 3456_직사각형 길이 찾기 (2) | 2019.02.03 |
SW expert Academy 1225_[S/W 문제해결 기본]7일차_암호생성기 (0) | 2019.02.03 |
SW expert Academy 1224_[S/W 문제해결 기본]6일차_계산기3 (0) | 2019.02.03 |
SW expert Academy 1223_[S/W 문제해결 기본]6일차_계산기2 (0) | 2019.02.03 |