문제설명
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
나의 코드
#include <stdio.h>
int main()
{
float t=0, d=0, c;
int b, a;
scanf("%d", &a); // 투자액수 입력 받음
t=a;
scanf("%d", &b); // 투자 일수 입력 받음
for(int i=1;i<=b;i++) // b만큼 반복
{
scanf("%f", &c); // 변동 폭 계산
d = c/100;
t+=t*d;
}
printf("%.0f\n", -a+t); // 값 출력
if(t>a) printf("good"); // 조건에 따라 출력
else if(t<a) printf("bad");
else if(t==a) printf("same");
return 0;
}
모범 답안
#include <stdio.h>
int main()
{
float a,sa,b,y;
int x;
scanf("%f %f",&a,&b);
sa=a;
for(x=0;x<b;x++)
{
scanf("%f",&y);
a*=(100+y)/100;
}
if(a-sa>=0.5||a-sa<=-0.5)
{
printf("%.0f\n",a-sa);
if(a-sa>0)
printf("good");
else
printf("bad");
}
else
{
printf("0\n");
printf("same");
}
return 0;
}
문제 바로가기 : https://codeup.kr/problem.php?id=1283
'알고리즘 공부 > CodeUp 문제풀이' 카테고리의 다른 글
코드업 2721:순환 문자열 (0) | 2023.09.21 |
---|---|
코드업 1754:큰 수 비교 (0) | 2023.09.20 |
코드업 1180:만능 휴지통(C) (0) | 2023.09.19 |
코드업 1677:종이자르기(C) (2) | 2023.09.18 |
코드업 1382:GuguClass(C) (0) | 2023.09.17 |