그리디 알고리즘이다.
지금 이 시점에서 가장 적게 번갈아 사용할 수 있는 색깔
을 택한다.
다시 말해, 인덱스를 따라가면서 색깔이 같다면 한 번 더 칠할 필요가 없다. 바뀐다면 이 색을 칠하는 횟수를 한 번 더 추가한다.
import sys
n = int(input())
paint = sys.stdin.readline().rstrip()
color = [0, 0]
if paint[0] == 'R': color[0] += 1
else: color[1] += 1
# 초깃값 color[0]에는 빨간색, color[1]에는 파란색 연속되지 않았을 때 카운트한다.
for i in range(1, n):
if paint[i] != paint[i-1]:
# 이전 색깔과 같다면 칠할 필요가 없다.
if paint[i] == 'R': color[0] += 1
else: color[1] += 1
print(min(color)+1)