Counting Valleys

  • + 0 comments

    My Java solution:

     public static int countingValleys(int steps, String path) {
            int  currentLevel    = 0;
            char down            = 'D';
            int  numberOfValleys = 0;
    
            for (Character c : path.toCharArray()) {
                int step = c == down ? -1 : 1;
                if (currentLevel < 0 && (currentLevel + step) == 0) {
                    numberOfValleys++;
                }
                currentLevel += step;
            }
            return numberOfValleys;
        }