Skip to content

Commit 5c81869

Browse files
committed
[Create] 단순 주식값 계산
1 parent 99f0b30 commit 5c81869

File tree

1 file changed

+66
-0
lines changed

1 file changed

+66
-0
lines changed

StockCalc.java

+66
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,66 @@
1+
// Java Programming
2+
// 2021.04.16
3+
4+
public class StockCalc {
5+
public static void main(String[] args) {
6+
System.out.println("최종가격: "+ new StockCalc().stock(new int[]{4, 3, 7, 5, 4, 2, 3, 5, 6, 8, 5, 4, 3, 6, 4, 5, 8, 2, 3}, 20));
7+
}
8+
9+
public int stock(int[] T, int w) {
10+
int answer = w;
11+
int stockNum = 0;
12+
int[] checkStock = new int[T.length];
13+
14+
for(int i = 0; i<checkStock.length-1;i++){
15+
checkStock[i] = T[i+1]-T[i];
16+
if(checkStock[i] == 0)
17+
checkStock[i] = checkStock[i-1];
18+
}
19+
checkStock[checkStock.length-1] = checkStock[checkStock.length-2];
20+
21+
22+
for (int i = 0; i < T.length; i++) {
23+
// 처음 주식 결정
24+
if(i == 0){
25+
if(checkStock[i] < 0)
26+
continue;
27+
stockNum = answer / T[i];
28+
answer %= T[i];
29+
continue;
30+
}
31+
32+
// 마지막 주식 결정
33+
if (i == T.length-1) {
34+
if(checkStock[i] >= 0){
35+
answer += stockNum * T[i];
36+
stockNum = 0;
37+
}
38+
continue;
39+
}
40+
// if (i + 1 == T.length) {
41+
// if(checkStock[i] > 0){
42+
// answer += stockNum * T[i];
43+
// stockNum = 0;
44+
// }
45+
// continue;
46+
// }
47+
48+
// 중간 주식 결정
49+
// 판매
50+
if (checkStock[i-1] > 0 && checkStock[i] <0) {
51+
answer += stockNum * T[i];
52+
stockNum = 0;
53+
continue;
54+
}
55+
56+
// 구매
57+
if (checkStock[i-1] < 0 && checkStock[i] > 0) {
58+
stockNum = answer / T[i];
59+
answer %= T[i];
60+
continue;
61+
}
62+
}
63+
64+
return answer;
65+
}
66+
}

0 commit comments

Comments
 (0)