(구) 개발지식 (공통)/코딩 연습 (문제풀이)

[HackerRank/Easy] Plus Minus

WHDE 2021. 9. 12. 19:41

머리도 식힐겸 쉬운 문제부터 풀어보는 중에 먼저 이 친구를 만났는데,

되게 간단한 문제인데 조금 골치 아플 뻔 했다.

 

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학년때 캐스팅 공부 빡세게 했었는데 막상 지금은 까먹어버렸다.

아무래도 보통 몫을 쓰다보니.. 이번엔 까먹지 말아야지.