본문 바로가기
알고리즘/TIL

[99클럽 코테 스터디 29일차 TIL]

by 모모_모 2024. 6. 18.

✏️  오늘의 문제 : 1529. Minimum Suffix Flips

 

📌 주안점

  • i번째 index에서 flip할 경우 i~n-1까지의 원소 전부 flip된다는 것.
    • 순서대로 (1~n-1) 다 flip하는 수 밖에 없다.
  • 실제로 비트를 변경할 필요 없이, target[i]와 현재 몇번 flip했는지의 정보만 있으면 된다.
    • for문 한번으로 해결
class Solution(object):
    def minFlips(self, target):
        cnt = 0
        tLen = len(target)
        for i in range(tLen):
            #i = 1, cnt = even
            if target[i] == "1" and cnt % 2 == 0:
                cnt+=1
            #i = 0, cnt = odd
            elif target[i] == "0" and cnt % 2 == 1:
                cnt+=1
        return cnt

 

  • 작성하고보니, cnt%2값과 target의 값을 비교해서 다르다면 cnt+=1해주는 것으로 표현하는게 더 빠를것 같다. 
    • 가독성 측면에선, 그대로 하는게 나을것 같다.