Plus Minus | HackerRank
Calculate the fraction of positive, negative and zero values in an array.
www.hackerrank.com
<문제>

input: 첫번째 줄에는 배열의 크기를 입력받고, 두번째 줄에는 크기만큼 원소를 입력받는다.
output: input으로 입력받은 배열 내에서 첫번째 줄에는 양수의 비율, 두번째 줄에는 음수의 비율, 세번째 줄에는 0의 비율을 출력한다.
<코드>
void plusMinus(int arr_count, int* arr) {
int a=0, b=0, c=0;
for(int i=0; i<arr_count; i++){
if(arr[i]>0) a++;
else if(arr[i]==0) c++;
else b++;
}
printf("%f\n%f\n%f", (double)a/arr_count, (double)b/arr_count, (double)c/arr_count);
}
<풀이>
양수의 개수, 음수의 개수, 0의 개수를 각자 센 다음에 마지막에 총 배열의 원소 개수로 나눠서 출력하면 비율을 구할 수 있다. 그러므로 양수 개수는 a변수에, 음수 개수는 b 변수에, 0의 개수는 c 변수에 저장했다. 그리고 매개변수로 전달받은 배열 원소의 개수인 arr_count로 각자 나눈 다음에 a, b, c, arr_count 변수 모두 int 형이므로 double 형으로 타입 캐스트 해줘서 소수점까지 출력하였다.
<실행결과>

'c언어 스터디 > HackerRank' 카테고리의 다른 글
| [HackerRank] Get Node Value (0) | 2021.08.28 |
|---|---|
| [HackerRank] Cycle Detection (0) | 2021.08.21 |
| [HackerRank] Compare two linked lists (0) | 2021.08.14 |
| [HackerRank] Repeated String (0) | 2021.08.14 |
| [HackerRank] Equalize the Array (0) | 2021.08.05 |