본문 바로가기

c언어 스터디/HackerRank

[hackerrank] Students Marks Sum

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