반응형
안녕하세요! Plitche(플리체)입니다.
이번 포스팅의 주제는 Q1283 : 주식 투자 (자바, JAVA)입니다.
Intro
Question
문제 설명
입력
첫째줄에 투자한 액수 a가 입력됩니다. (100 <= a <= 10,000)
둘째 줄에 투자 일 수 b가 입력됩니다.(1 <= b <= 10)
그 다음줄에 일별 변동폭인 데이터가 날짜 갯수(b개)만큼 퍼센트 정수로 입력됩니다. (변동폭는 음수도 될 수 있습니다.) ( 범위 -100 ~ +100)
출력
이 사람의 순수익(=총 수익(최종 값) - 총 비용(투자한 액수))을 소수점 첫째 자리에서 반올림하여 첫째 줄에 출력한다.
그리고 다음 줄에 이 사람이 이득일 경우 "good", 본전일 경우 "same", 손해일 경우 "bad"를 출력하세요.
물론, 단위가 '원'인데, 0.4원 손해나 0.4원 이득은 없겠죠? (0.5원이면 반올림해서 1입니다 ^^)
만약 0.5>순수익>-0.5이면 순수익은 0으로 봅니다.
예시
- 입력 :
10000
4
10 -10 5 -5 - 출력 :
- 125
bad
Solution (풀이)
- 풀이 : 메모리 11192, 시간 69
public class Answer1 {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
double money = Integer.parseInt(br.readLine()); //돈 입력
int days = Integer.parseInt((br.readLine())); //일수 입력
String str = br.readLine();
StringTokenizer st = new StringTokenizer(str, " ");
double input=money;
for (int i=0; i<days; i++) { // 입력받은 일 수 만큼 for문 반복
int percent = Integer.parseInt(st.nextToken()); // st에서 토큰을 차례로 꺼내어 계산
money = money*(1+percent/100.0);
}
// BufferedWriter는 String 타입으로 append해야하기에 캐스팅
bw.append(String.valueOf(Math.round(money-input)));
bw.newLine(); // BufferedWriter의 줄 바꾸기
if (money-input>0) {
bw.append("good");
} else if(money-input<0) {
bw.append("bad");
} else {
bw.append("same");
}
bw.flush();
bw.close();
}
}
Ranking(순위)
반응형
'Algorithm > CodeUp' 카테고리의 다른 글
[CodeUp_Java] Q1286 : 최댓값, 최솟값 (0) | 2022.06.30 |
---|---|
[CodeUp_Java] Q1284 : 암호 해독 (0) | 2022.06.30 |
[CodeUp_Java] Q1282 : 제곱수 만들기 (0) | 2022.06.29 |
[CodeUp_Java] Q1281 : 홀수는 더하고 짝수는 빼고 3 (0) | 2022.06.29 |
[CodeUp_Java] Q1280 : 홀수는 더하고 짝수는 빼고 2 (0) | 2022.06.29 |