1289. 원재의 메모리 복구하기 (SWEA)
※ SW Expert 아카데미의 문제를 무단 복제하는 것을 금지합니다.
출처:
나의 풀이
1
2
3
4
5
6
7
8
9
10
T = int(input())
for test_case in range(1, T + 1):
origin_bits=input()
cnt=0
for ob in origin_bits:
if ob=='1' and cnt%2==0:
cnt+=1
elif ob=='0' and cnt%2==1:
cnt+=1
print(f'#{test_case} {cnt}')
- 시작하는 코드가 0000…이다.
- 앞에서부터 원래의 bit와 다르면 이전 bit들까지 모두 반대로 바꾼다.
- 즉 바꾼 횟수가 홀수이면 뒤의 bit들은 1, 짝수이면 0일 것이다.
- 따라서 바꾼 횟수에 따라 cnt를 늘릴지 늘리지 않을지를 결정한다.
This post is licensed under CC BY 4.0 by the author.