그리드 : 문자열 뒤집기

주리·2024년 1월 8일
0

코테_그리디

목록 보기
7/10

문제

  • 문자열 S 의 모든 숫자를 같게 하는 것이 목적
  • 연속된 하나 이상의 숫자를 잡고 모두 뒤집기
  • 최소 횟수를 구하여라

내 풀이

  1. 문자열 -> 1개씩 잘라서 리스트로 변환
  2. 리스트를 for문으로 돌면서 0->1 또는 1->0 으로 바뀌는 구간의 개수 구하기 = count
  3. count가 짝수 -> total = count//2
    count가 홀수 -> total = count//2 +1
S = input()
list_S = []
count = 0
total = 0

for i in range(len(S)):
  a = S[i:i+1]
  list_S.append(a)

for i in range(len(list_S)-1):
  if list_S[i] != list_S[i+1] :
    count+=1

if count%2==0:
  total = count//2
else:
  total = count//2 +1
  
print(total)
  
profile
완벽한 글 보다, 그 과정들을 기록하는 개발자

0개의 댓글