문제: 계곡 계산하기
- 문자열을 입력받는다.
- U는 위로 D는 아래로다.
- 시작점과 끝지점 사이에 존재하는 계곡의 개수를 구한다.
- 계곡 구별점은 평지 (시작점을 기준)으로 까지 올라와야 1개의 계곡으로 인정된다.
풀이법 1
- 만약 해당 인덱스의 문자가 U이고 높이가 0일때 계곡 계산하는변수에 1을 추가한다
- 그리고 포문돌리면 끝~~
int countingValleys(int steps, string path) {
int size = path.size();
int height = 0;
int answer = 0;
for (size_t i = 0; i < size; i++)
{
if (path[i] == 'U')
{
height++;
if (height == 0) answer++;
}
else height--;
}
return answer;
}
https://github.com/Natejin/CodeTest/blob/master/HackerRank/HackerRank/Counting%20Valleys.cpp
느낀점
- 조건만 알면 쉬운거 같다.
'HackerRank' 카테고리의 다른 글
[HackerRank](c++) Repeated String (0) | 2021.06.12 |
---|---|
[HackerRank](c++) Jumping on the Clouds (0) | 2021.06.08 |
[HackerRank](c++) Sales by Match (0) | 2021.06.05 |