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 traversedInput FormatSample Output
- 1
- Explanation
- If we represent _ as sea level, a step up as /, and a step down as \, the hike can be drawn as:_/\ _ \ / \/\/The hiker enters and leaves one valley.
- Sample Input
- 8 UDDDUDUU
- 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. - Constraints
-- Answer
public static int countingValleys(int steps, string path)
{
int ans = 0;
int level = 0;
for(int i=0; i < steps; i++){
if(path[i] == 'U'){
level++;
}else{
level--;
}
if((level == 0) && path[i] == 'U') ans++;
}
return ans;
}
'HackerRank.com' 카테고리의 다른 글
Repeated String (0) | 2021.10.04 |
---|---|
Jumping on the Clouds (0) | 2021.10.04 |
Sales by Match (0) | 2021.10.04 |