Students Marks Sum | HackerRank
Students Marks Sum | HackerRank
An easy challenge on pointers
www.hackerrank.com
<문제>

학생의 점수를 marks 배열로 입력받고, 남학생들의 점수 합을 구할건지 여학생들의 점수 합을 구할건지 마지막에 b 또는 g를 입력받는다. 입력받은 배열의 합을 출력하는 문제이다.
<코드>
int marks_summation(int* marks, int number_of_students, char gender) {
int k=0;
if(gender=='b'){
for(int i=0;i<number_of_students;i=i+2){
k+=marks[i];
}
return(k);
}
else {
for(int i=1;i<number_of_students;i=i+2){
k+=marks[i];
}
return(k);
}
}
<풀이>
gender이 b인지 g인지에 따라 더하는 값이 달라져야하므로 if-else 구문을 사용해서 문제를 풀었다. 첫번째 조건으로 만약 gender이 b이면, for 문에서 i=0부터 시작하여 인덱스를 2씩 증가한 marks 배열의 값을 k변수에 더해 k값을 리턴하였다. else이면 gender이 g인 경우이므로 i=1부터 시작하여 인덱스를 2씩 증가해 값을 더하고 k값을 리턴하여 문제를 풀 수 있었다.
<실행결과>

'c언어 스터디 > HackerRank' 카테고리의 다른 글
| [HackerRank] Printing Tokens (0) | 2021.11.07 |
|---|---|
| [HackerRank] Tree: Inorder Traversal (0) | 2021.10.10 |
| [HackerRank] Bitwise Operators (0) | 2021.10.02 |
| [HackerRank] Tree: Postorder Traversal (0) | 2021.10.02 |
| [HackerRank] Find Digits (0) | 2021.09.26 |