길이가 n인 이진 스트링 target
이 주어진다. 0이 n개 있는 초기 스트링에서 target
과 같아지려면 몇 번의 동작을 수행해야 하는지 반환하시오.
class Solution:
def minFlips(self, target: str) -> int:
result = 0
s = ["0"] * len(target)
for i in range(len(target)):
if s[i] != target[i]:
for j in range(i, len(s)):
if s[j] == "0":
s[j] = "1"
else:
s[j] = "0"
result += 1
return result
class Solution:
def minFlips(self, target: str) -> int:
diff = 0
start = '0'
for i in target:
if i != start:
diff += 1
start = i
return diff
start
를 지정했다.class Solution:
def minFlips(self, target: str) -> int:
result = 0
bit = "0"
for i in range(len(target)):
if bit != target[i]:
result += 1
if bit == "0":
bit = "1"
else:
bit = "0"
return result
target
이 0과 1뿐이라는 점을 응용해 비트를 바꿔 줬다.