HackerRank/Algorithms

[HackerRank] Implementation > The Hurdle Race

ruming 2021. 9. 19. 23:55

허들의 높이가 배열로 들어오고 Dan의 캐릭터가 뛸 수 있는 높이가 k로 들어온다.

마법포션을 먹으면 캐릭터가 뛸 수 있는 최고 높이보다 1 더 뛸 수 있게 된다.

허들을 전부 넘기 위해 마법포션을 몇 개 먹어야 할까?

int hurdleRace(int k, int height_count, int* height) {
    int max = height[0], answer;
    for(int i=1; i<height_count; i++){
        if(max < height[i]){
            max = height[i];
        }
    }
    if(max-k>0) answer = max-k;
    else    answer = 0;
    return answer;
}

가장 높은 허들의 높이를 저장할 max를 선언하고 높이배열의 첫번째 값으로 초기화한다.

답을 반환할 answer를 선언한다. for문으로 max에 허들배열중에 가장 높은 값을 저장하기 위해 if문으로 max와 height[i]값을 비교한다. max-k가 0보다 크면 answer에 그 값을 저장, 0보다 작으면 0을 저장하고 answer를 리턴한다.