# Problem
#
# Gary is an avid hiker. He tracks his hikes meticulously, paying close attention to small details like topography.
# During his last hike he took exactly n steps.
# For every step he took, he noted if it was an uphill, U, or a downhill, D step.
# Gary's hikes start and end at sea level and each step up or down represents a 1 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 Gary's sequence of up and down steps during his last hike,
# find and print the number of valleys he walked through.
#
# For example, if Gary's path is s = [DDUUUUDD], he first enters a valley 2 units deep.
# Then he climbs out an up onto a mountain 2 units high. Finally, he returns to sea level and ends his hike.
#
# countingValleys has the following parameter(s):
#
# n: the number of steps Gary takes
# s: a string describing his path
# Input Format
#
# The first line contains an integer n, the number of steps in Gary's hike.
# The second line contains a single string s, of n characters that describe his path.
#
# Constraints
#
# 2 <= n <= 10^6
# s[i] belongs to {UD}
#
# Output Format
#
# Print a single integer that denotes the number of valleys Gary walked through during his hike.


def counting_valleys(n, s):
    """

    :param n: number of steps taken
    :param s: array describing the path taken
    :return: number of valleys
    """
    level, prev_level, valley_count = 0, 0, 0
    for i in range(n):
        prev_level = level
        level += 1 if s[i] == 'U' else -1
        if level < 0 and prev_level >= 0:
            valley_count += 1
    return valley_count


if __name__ == '__main__':
    n = int(input())
    s = input()
    result = counting_valleys(n, s)
    print(result)
