문자열 뒤집기

최대 1 분 소요

해결방법
  • 1로 만들때의 횟수, 0으로 만들때의 횟수를 각각 구해서 둘 중 최소값을 출력

  • 중복된 값 제거후 리스트에 추가

  • 1로 만드는 경우에는 리스트 값이 0이면 +1

    0으로 만드는 경우에는 리스트 값이 1이면 +1

    두 결과값 중 작은 값 출력

s = input()

make_1 = 0
make_0 = 0

list_1 = []
list_0 = []

# 1로 만들때 횟수 구하기
for i in range(len(s)):
    if i == 0:
        list_1.append(int(s[i]))
    else:
        if int(s[i-1]) != int(s[i]):
            list_1.append(int(s[i]))
for num in list_1:
    if num == 0:
        make_1 += 1
# 0으로 반들때 횟수 구하기
for i in range(len(s)):
    if i == 0:
        list_0.append(int(s[i]))
    else:
        if int(s[i-1]) != int(s[i]):
            list_0.append(int(s[i]))
for num in list_0:
    if num == 1:
        make_0 += 1
# 둘중 최소값 출력
print(min(make_0, make_1))

댓글남기기