728x90

문제 설명

gbs라는 개미 투자자가 주식에 투자하려고 합니다.

이 사람이 투자한 돈의 액수와, 그 주식의 하루간의 변동을 퍼센트로 알 때, 이 사람의 순수익과 이득/손해 판단을 출력하세요.

 

입력

첫째줄에 투자한 액수 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

 

도움말

우선 첫날 10000원을 투자했습니다.

그리고 4일동안 기다렸습니다.

첫 날엔 10%가 올랐습니다. //11000원

둘째 날엔 10%가 내렸습니다. //9900원

셋째 날엔 5%가 올랐습니다. //10395원

넷째 날엔 5%가 내렸습니다. //9875.25원

첫 날 투자한 돈이 10000원인데, 9875.25원 남았으니  -124.75, 반올림해서 -125원. 즉, 손해입니다.

 

#include <iostream>
#include <vector>
#include <cmath>
using namespace std;

int main()
{
	double money;
	int day;
	vector<int> days;
	cin >> money >> day;
	double result = money;
	
	for (;day > 0; --day)
	{
		int n;
		cin >> n;
		days.push_back(n);
	}

	for (const auto i : days)
	{
		double per = (result * abs(i) / 100);
		if (i > 0)
			result = result + per;
		else 
			result = result - per;
	}
	
	result -= money;
	
	if (result > 0)
		cout << round(result) << "\n" << "good" << endl;
	else if (result == 0)
		cout << round(result) << "\n" << "same" << endl;
	else 
		cout << round(result) << "\n" << "bad" << endl;
	
	return 0;
}
728x90

'Algorithm > codeup' 카테고리의 다른 글

c++ 1288 : nCr (Tiny)  (0) 2020.11.08
c++ 1287 : 구구단을 *로 출력하기  (0) 2020.11.08
c++ 1282 : 제곱수 만들기  (0) 2020.11.07
c++ 1281 : 홀수는 더하고 짝수는 빼고 3  (0) 2020.11.07
c++ 1278 : 자릿수 계산  (0) 2020.11.07