[SWEA] 1289 | 원재의 메모리 복구하기

Gaanii·2024년 11월 12일
0

Problem Solving

목록 보기
158/210
post-thumbnail

문제링크


1289 | 원재의 메모리 복구하기



풀이과정


직관적 그자체로 풀었다. 이렇게 푸는거 맞나 싶지만 ..

입력받은 비트의 개수와 동일하게 0으로 구성된 비트를 만들자.

그리고 앞에서부터 비트가 다르다면 현재 비트부터 뒤의 모든 비트를 뒤집어준다.
이 과정을 반복하면 된다.


코드


T = int(input())

for tc in range(1, T+1):
    bits = list(map(int, input().rstrip()))
    result = [0] * len(bits)

    cnt = 0
    for i in range(len(bits)):
        if bits[i] == 0 and result[i] == 1:
            result[i:] = [0] * (len(bits) - i)
            cnt += 1
        elif bits[i] == 1 and result[i] == 0:
            result[i:] = [1] * (len(bits) - i)
            cnt += 1

    print(f'#{tc} {cnt}')



결과


정답

0개의 댓글