[BOJ] 17615 볼 모으기

BbickBbick_Develop·2022년 12월 12일
0

BOJ

목록 보기
7/8
post-thumbnail

풀이

N = int(input())
S = input()
RED = S.count('R')
BLUE = len(S)-RED

# 하나만 갖고 있는 경우 한번만 옮기면 되니까 답 후보 중 하나
ans = min(RED, BLUE)

cnt_1 = 0
cnt_2 = 0

# 한 색깔만 있는 경우에는 0을 출력
if N-RED == 0 or N-BLUE == 0:
    print(0)
else:
	# 왼쪽으로 모는 게 빠른 경우를 출력
    for i in range(0, len(S)):
        if S[i] != S[0]:
            break
        else:
            cnt_1 += 1
    if S[0] == 'R':
        ans = min(ans, RED-cnt_1)
    else:
        ans = min(ans, BLUE-cnt_1)
    # 오른쪽으로 모는 게 빠른 경우를 출력
    for i in range(N-1, -1, -1):
        if S[i] != S[N-1]:
            break
        else:
            cnt_2 += 1
    if S[N-1] == 'R':
        ans = min(ans, RED-cnt_2)
    else:
        ans = min(ans, BLUE-cnt_2)
    print(ans)

profile
삑삑도요가 되자

0개의 댓글