[BOJ] Q1439 문자열 뒤집기
[BOJ] Q1439 문자열 뒤집기
Question
Language: Python
Difficulty: Silver 5
0,1로 이루어진 문자열 S에 대해 문자 뒤집기를 진행, 한번에 연속된 같은 숫자를 한번에 뒤집는 것이 가능하다.
00011000 -> 이면 1을 모두 뒤집어 00000000 로 만들 수 있다는 의미이다.
여기서 0이 아니라 왜 1을 뒤집을까? 0을 이루는 집단이 2개, 1을 이루는 집단이 1개다 따라서 집단 단위로 문자 뒤집기가 가능한 이 문제에서는 집단 수 가 적은 문자를 고르는 것이 효율적이다.
Solution
def solution():
count0,count1=0,0
if input_data[0]=='0':
count0+=1
else:
count1+=1
for i in range(1,len(input_data)):
previous_data,current_data=input_data[i-1],input_data[i]
if previous_data!=current_data:
if current_data=='1':
count1+=1
else:
count0+=1
print(min(count1,count0))
if __name__ == "__main__":
input_data=list(input())
댓글남기기