HackerRank/Algorithms
[HackerRank C] Warmup : Birthday Cake Candles
ruming
2021. 7. 28. 01:56

가장 큰 생일 초의 개수가 몇 개인지 맞추는 문제다.
초의 사이즈가 담긴 배열을 주고, 그 안에서 가장 큰 초의 개수를 찾아내면 된다.
코드
int birthdayCakeCandles(int candles_count, int* candles) {
int max=candles[0], i, flag=0;
for (i=1; i<candles_count; i++){
if(max < candles[i]){
max = candles[i];
}
}
for(i=0; i<candles_count; i++) {
if(candles[i] == max) flag++;
}
return flag;
}
배열을 두번 돌지 않게 한번에 개수를 알아내고 싶었는데 실패했다.
max라는 가장 큰 초의 길이를 배열할 변수와, 그 개수를 셀 flag 변수를 초기화했다.
첫번째 for문으로 가장 큰 초의 길이를 max에 저장하고, 두번째 for문에서 max 개수가 몇개인지 센다.
초의 개수인 flag를 반환한다.
