해커랭크 - Counting Valleys

phoenixKim·2021년 8월 28일
0

해커랭크

목록 보기
1/7

느낀점

: 문제를 잘못 파악했다.
그림을 보고 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;
}
profile
🔥🔥🔥

0개의 댓글

관련 채용 정보