혜랑's STORY

[HackerRank] Counting Valleys 본문

2021 SISS 21기 활동/2학기 C

[HackerRank] Counting Valleys

hyerang0125 2021. 11. 21. 20:23

 

7주차 자유문제

풀이

계곡이 몇 개인지 세는 문제로 U와 D로 입력을 받고 원래 높이보다 낮았다가 다시 올라오면 계곡 하나로 카운트하게 된다. flag 변수를 만들어 U일때 1, D일때 -1이 되도록 코드를 작성하였고, 계곡의 조건인 -1에서 0이 될 때(-1 + 1 = 0) 카운트를 1 증가시킨다. 이렇게 계곡의 수를 모두 세어준 뒤 그 값을 반환한다.

int countingValleys(int steps, string path) {
    int flag = 0, answer = 0;
    for(int i=0; i<steps; i++){
        if(path[i] == 'U'){
            flag++;
            if(flag == 0)   answer++;
        }  
        else {
            flag--;
        }
    }
    return answer;
}

 

결과