머리도 식힐겸 쉬운 문제부터 풀어보는 중에 먼저 이 친구를 만났는데,
되게 간단한 문제인데 조금 골치 아플 뻔 했다.
void plusMinus(vector<int> arr) {
int pos = 0;
int neg = 0;
int zero = 0;
int n = arr.size();
for(int i = 0; i < n; i++) {
if(arr[i] > 0) { pos++; }
else if(arr[i] < 0) { neg++; }
else { zero++; }
}
float posR = (float) pos/n;
float negR = (float) neg/n;
float zeroR = (float) zero/n;
printf("%.6f\n", posR);
printf("%.6f\n", negR);
printf("%.6f\n", zeroR);
}
정수/정수 연산 후 캐스팅을 해주어야 한다는 것을 까먹고 있었다(....)
그렇지 않으면 0.000000 이렇게 0만 나온다. 정수/정수 = 정수이기 때문..
실수형으로 캐스팅 해주면 소수점이 나온다.
1학년때 캐스팅 공부 빡세게 했었는데 막상 지금은 까먹어버렸다.
아무래도 보통 몫을 쓰다보니.. 이번엔 까먹지 말아야지.
'(구) 개발지식 (공통) > 코딩 연습 (문제풀이)' 카테고리의 다른 글
[백준/실버] 1003번 피보나치 함수 (0) | 2021.09.28 |
---|---|
[HackerRank/Easy] XOR Strings 2 (0) | 2021.09.19 |
[HackerRank/Easy] Time Convention (0) | 2021.09.13 |
[HackerRank/Easy] Mini-Max Sum (0) | 2021.09.12 |
코딩 연습 사이트들 (0) | 2021.09.04 |