: 문제를 잘못 파악했다.
그림을 보고 seaLevel로부터 윗단계 봉우리 일때라고 판단했다.
맨처음 문제를 보고 seaLevel(0)에서 위에 있는 상태에서 다시 seaLevel에 도달하면 valley값이 1씩 증가한다고 생각하고 문제를 접근했다.
이렇게 되면 seaLevel 위부분에서 솟아오른 봉오리 있을때마다 카운팅한다는 것을 나탄내다.
하지만 2번째 답안에서 잘못된다.
-> 문제를 다시 읽어보자.
이 문장이 핵심이다.
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.
: 한개의 valluy는 sea level아래의 연속적인 아래 단계에서,
sealevel로부터 한단계아래에서 위로 올라올때를 나타낸다.이다.
계곡은 해수면에서 한 단계 아래로 시작하여 해수면으로 올라가는 단계로 끝나는 해수면 아래의 연속적인 단계입니다.
int countingValleys(int steps, string path) {
int result = 0;
int curValue = 0;
for(const auto &i : path)
{
if(i == 'U')
{
if(curValue < 0 && curValue + 1 == 0)
result++;
curValue++;
}
else if(i == 'D')
{
curValue--;
}
}
return result;
}