20365 - 블로그 2

LeeKyoungChang·2022년 6월 8일
0

Algorithm

목록 보기
152/203
post-thumbnail

📚 20365 - 블로그 2

블로그2

 

이해

문제에서 B와 R이 입력되었을 때, BR로 색칠하여 만들면 되는 문제이다.

xxxxxx 일 때 BRBRBB

B로 전부 칠한 후, R로 칠하면 된다.
BBBBBB
BRBRBB

3번

반복문 두 번으로 현재 인덱스에서 해당 구간이 B인가 R인가로 체크해도 되지만, (다른 사람 블로그를 보니) B -> R or R -> B로 바뀐다면 횟수를 1씩 증가시켜도 된다.

 

소스

기존 소스

import sys  
  
read = sys.stdin.readline  
  
n = int(read())  
  
neighbor = list(read().rstrip())  
  
bcnt = 0  
rcnt = 0  
  
check = False  
  
for in_neighbor in neighbor:  
    if check and in_neighbor == 'B':  
        continue  
    elif (not check) and in_neighbor == 'B':  
        bcnt += 1  
        check = True  
    else:  
        check = False  
  
check = False  
  
for in_neighbor in neighbor:  
    if check and in_neighbor == 'R':  
        continue  
    elif (not check) and in_neighbor == 'R':  
        rcnt += 1  
        check = True  
    else:  
        check = False  
  
answer = min(bcnt, rcnt) + 1  
  
print(answer)

 

다른 블로그 소스

import sys  
  
input = sys.stdin.readline  
  
N = int(input())  
s = input().rstrip()  
cnt = {'B': 0, 'R': 0}  
cnt[s[0]] += 1  
for i in range(1, N):  
    if s[i] != s[i - 1]:  
        cnt[s[i]] += 1  
print(min(cnt['B'], cnt['R']) + 1)

 

profile
"야, (오류 만났어?) 너두 (해결) 할 수 있어"

0개의 댓글