[알고리즘/백준] 17615번 : 볼 모으기(python)

유현민·2022년 3월 15일
0

알고리즘

목록 보기
53/253
post-custom-banner


처음에는 감이 안와서 다른 사람들 코드를 참고했다.
제일 오른쪽, 왼쪽으로 모으는 경우를 계산하면 된다.

N = int(input())
a = input()

red = a.count('R')
blue = N - red
ans = min(red, blue)
cnt = 0

for i in range(N):
    if a[i] != a[0]:
        break
    cnt += 1
if a[0] == 'R':
    ans = min(ans, red - cnt)
else:
    ans = min(ans, blue - cnt)

cnt = 0
for i in range(N-1, -1, -1):
    if a[i] != a[N - 1]:
        break
    cnt += 1
if a[N - 1] == 'R':
    ans = min(ans, red - cnt)
else:
    ans = min(ans, blue - cnt)
print(ans)
profile
smilegate
post-custom-banner

0개의 댓글