Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- 삼각형의 완성조건
- Lv1
- 프로그래머스 문자열 정렬
- 알고리즘
- 자바
- SWEA
- 스프링부트 도커
- 프로그래머스
- Queue
- Programmers
- index of
- 프로그래머스 풀이
- 스프링부트 도커로 배포
- lv2
- 스프링부트 도커 배포
- 큐
- 이진수 변환
- COS Pro
- 클라이언트
- 문자열
- Stack
- 버퍼
- lv0
- 백준 N과 M 자바
- 스택
- 오름차순 정렬
- StringTokenizer
- 프로그래머스 자바
- java
- 백준
Archives
- Today
- Total
mun dev
[백준] 11501 주식 자바 본문
문제설명
홍준이는 요즘 주식에 빠져있다. 그는 미래를 내다보는 눈이 뛰어나, 날 별로 주가를 예상하고 언제나 그게 맞아떨어진다. 매일 그는 아래 세 가지 중 한 행동을 한다.
- 주식 하나를 산다.
- 원하는 만큼 가지고 있는 주식을 판다.
- 아무것도 안한다.
홍준이는 미래를 예상하는 뛰어난 안목을 가졌지만, 어떻게 해야 자신이 최대 이익을 얻을 수 있는지 모른다. 따라서 당신에게 날 별로 주식의 가격을 알려주었을 때, 최대 이익이 얼마나 되는지 계산을 해달라고 부탁했다.
예를 들어 날 수가 3일이고 날 별로 주가가 10, 7, 6일 때, 주가가 계속 감소하므로 최대 이익은 0이 된다. 그러나 만약 날 별로 주가가 3, 5, 9일 때는 처음 두 날에 주식을 하나씩 사고, 마지막날 다 팔아 버리면 이익이 10이 된다.
입력
입력의 첫 줄에는 테스트케이스 수를 나타내는 자연수 T가 주어진다. 각 테스트케이스 별로 첫 줄에는 날의 수를 나타내는 자연수 N(2 ≤ N ≤ 1,000,000)이 주어지고, 둘째 줄에는 날 별 주가를 나타내는 N개의 자연수들이 공백으로 구분되어 순서대로 주어진다. 날 별 주가는 10,000이하다.
출력
각 테스트케이스 별로 최대 이익을 나타내는 정수 하나를 출력한다. 답은 부호있는 64bit 정수형으로 표현 가능하다.
✅ 통과한 코드
import java.util.*;
import java.io.*;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int t = Integer.parseInt(br.readLine());
StringTokenizer st;
for (int i = 0; i < t; i++) {
int n = Integer.parseInt(br.readLine());
st = new StringTokenizer(br.readLine());
long arr[] = new long[n];
long result = 0;
long max = 0;
for (int k = 0; k < n; k++) {
arr[k] = Integer.parseInt(st.nextToken());
}
for (int j = n - 1; j >= 0; j--) { // 마지막 값 부터 비교
if (arr[j] > max) {
max = arr[j];
} else {
result += (max - arr[j]); //비싼가격 - 현재 가격한 값 result에 더하기
}
}
System.out.println(result);
}
}
}
'알고리즘 > 백준' 카테고리의 다른 글
[백준] 14425 문자열 집합 자바(Java) (0) | 2023.04.18 |
---|---|
[백준] 2745 진법 변환 자바(Java) (0) | 2023.04.18 |
[백준] 1026 보물 자바 (0) | 2023.04.16 |
[백준] 11399 ATM 자바 (0) | 2023.04.15 |
[백준] 2164 카드2 자바 (0) | 2023.04.14 |