가오리의 코딩일기
문자열뒤집기 본문
POINT
- 0과 1로 이루어진 문자열 s
- 0의 수와 1의 수를 비교해서 적음 → 실제로 뒤집에서 계산하는게 아님
- 전부 0이나 1로 바꾸는 경우를 찾고 더 작은 횟수를 가지는 것 찾기
s = input()
zero = 0
one = 0
if s[0] == '0':
zero += 1
else:
one += 1
for i in range(len(s)-1):
if s[i] != s[i+1]:
if s[i+1] == '0':
zero += 1
else:
one += 1
print(min(zero, one))
- 0번지 값과 1번지 값 비교를 위해 0번지 값은 따로 확인한다
- range(len(s)-1) : range()_0번지부터 시작
- s[i]와 s[i+1]이 같으면 변화가 없으니 생략, 다르면 0과 1 중 어떤걸로 변했는지
- 0과 1 중 작은 값 출력
s = input()
count = 0
for i in range(len(s)-1):
if s[i] != s[i+1]:
count += 1
print((count + 1) // 2)
- //2 : 0↔1 모두 포함하기 때문에 나눠줘야 함
- +1 : 2로 나누기 위해 짝수 만들려고?
'Python > 이코테' 카테고리의 다른 글
볼링공 고르기 (0) | 2022.05.29 |
---|---|
만들 수 없는 금액 (1) | 2022.05.28 |
곱하기 혹은 더하기 (0) | 2022.05.26 |
모험가 길드 (0) | 2022.05.26 |
1이 될 때까지 (0) | 2022.05.25 |