[백준] 1439. 뒤집기(python, 파이썬)

giggle·2023년 5월 28일
0

문제

1439. 뒤집기


📌 아이디어

문자열을 탐색하며 1, 0에 대한 연속된 문자열 구간을 카운트 합니다.
카운트 후 구간의 수가 젤 작은 숫자가 곧 행동의 최소 횟수이므로 정답처리 합니다.

1. 문자열을 탐색하며 최신 위치를 저장
2. 저장한 최신 위치를 바탕으로 현재 위치와 비교하여 1, 0에 대한 연속된 문자열을 카운트
3. 연속된 문자열 중 카운트 횟수가 작은 숫자를 정답 처리


📌 코드

lst = list(input())

cnt_one = 0 # 0의 연속 구간 카운트
cnt_zero = 0 # 1의 연속 구간 카운트
cur = ''
for i in range(len(lst)):
    if lst[i] == '0':
    # 최신 위치가 현재랑 다를 경우 위치를 최신화하고, 구간 카운트
        if cur != '0':
            cur = '0'
            cnt_zero += 1
    else:
        if cur != '1':
            cur = '1'
            cnt_one += 1
# 구간의 카운트가 작은 숫자를 정답처리
ans = min(cnt_zero, cnt_one)
print(ans)



피드백 및 개선점은 댓글을 통해 알려주세요😊

profile
배움을 글로 기록하는 개발자가 되겠습니다.

0개의 댓글