관리 메뉴

fatalite

Counting Valleys 본문

코딩 인터뷰/C++

Counting Valleys

fataliteforu 2023. 1. 17. 09:58

An avid hiker keeps meticulous records of their hikes. During the last hike that took exactly  steps, for every step it was noted if it was an uphill, , or a downhill,  step. Hikes always start and end at sea level, and each step up or down represents a  unit change in altitude. We define the following terms:

  • A mountain is a sequence of consecutive steps above sea level, starting with a step up from sea level and ending with a step down to sea level.
  • A valley is a sequence of consecutive steps below sea level, starting with a step down from sea level and ending with a step up to sea level.

Given the sequence of up and down steps during a hike, find and print the number of valleys walked through.

Example

 

The hiker first enters a valley  units deep. Then they climb out and up onto a mountain  units high. Finally, the hiker returns to sea level and ends the hike.

Function Description

Complete the countingValleys function in the editor below.

countingValleys has the following parameter(s):

  • int steps: the number of steps on the hike
  • string path: a string describing the path

Returns

  • int: the number of valleys traversed

Input Format

The first line contains an integer , the number of steps in the hike.
The second line contains a single string , of  characters that describe the path.

/*
 * Complete the 'countingValleys' function below.
 *
 * The function is expected to return an INTEGER.
 * The function accepts following parameters:
 *  1. INTEGER steps
 *  2. STRING path
 */

int countingValleys(int steps, string path) {
    int level = 0;
    int CountValley = 0;
    for(char c : path){
        if(c == 'U'){
            level++;
            if(level == 0){
                CountValley++;
            }
        }
        else if(c == 'D'){
            level--;
        }
    }
    
    return CountValley;
    
}

 

'코딩 인터뷰 > C++' 카테고리의 다른 글

Subarray Division 2  (0) 2023.02.03
Permuting Two Arrays  (0) 2023.01.26
Mars Exploration  (0) 2023.01.18
Diagonal Difference  (0) 2023.01.13
Flipping Bits  (0) 2023.01.12