본문 바로가기

c언어 스터디/HackerRank

[HackerRank] Birthday Cake Candles

https://www.hackerrank.com/challenges/birthday-cake-candles/problem

 

Birthday Cake Candles | HackerRank

Determine the number of candles that are blown out.

www.hackerrank.com

<문제>

입력:

candle의 개수를 입력하고, 입력한 개수만큼 candle의 높이를 차례로 입력하여 candles[]배열에 저장한다. 

출력:

candle의 높이 중 가장 큰 높이인 candle이 총 몇 개 있는지를 화면에 출력한다.

 

<코드> -birthdayCakeCandles()함수 구현

int birthdayCakeCandles(int candles_count, int* candles) {
    int max=candles[0], count=0;
    for(int i=0; i<candles_count;i++){
        if (candles[i]>max){
            max=candles[i];
            count=0;
        }
    }
    for(int i=0; i<candles_count;i++){
        if(candles[i]==max){
            count++;
        }
    }
    return count;
}

<코드 설명>

함수 birthdayCakeCandles()는 candles[]배열과 총 candle의 개수인 candles_count를 인수로 전달받는다.

지역변수로 candle의 가장 큰 높이를 저장하기 위한 max와, 같은 높이의 개수를 세기 위한 count를 선언한다.

첫번째 for문을 통해 전달받은 candles배열에서 가장 큰 높이의 candle을 max변수에 저장한다.

두번째 for문은 max의 값과 같은 candle의 개수를 count변수에 저장한다. 

마지막으로, count의 값을 리턴한다.

 

 

<결과>