1439_문자열 뒤집기

minjun kim·2024년 4월 11일

Check Point !

( 해당사항 ✓체크 )

  1. 막힘 없이 수월하게 풀린 문제인가?

  2. 1시간이내로 풀렸던 문제인가? ✅

  3. 1시간 이상 or 며칠을 두고 풀어봤더니 풀린 문제인가?

  4. 시간을 써도 도무지 풀 수 없는 문제인가?

  5. 솔루션을 찾아봤는가? ✅


난이도 체감

  1. 최상

  2. 하 ✅

<이해도>

  1. 완벽히 이해 ✅

  2. 다소 헷갈리는 부분들이 있음

  3. 이해 못함


<덧붙일 말>

https://www.acmicpc.net/problem/1439

예전부터 착각하는게 있었다
문자열 끝에가서 인덱스 범위를 초과하는 오류를 많이 범했는데.
해결할려면
range 범위값을 문자열 길이에서 하나 줄여서 확인 하면된다.

그리고 문자열의 첫번째 값을 비교도 생각해보자.

n = input()

zeroCnt = 0
oneCnt = 0

if n[0] == '0':
    zeroCnt += 1
else:
    oneCnt += 1
    
for i in range(len(n)-1): 
    if n[i] != n[i+1]:
        if n[i+1] == '0':
            zeroCnt += 1
        elif n[i+1] == '1':
            oneCnt += 1
print(min(oneCnt,zeroCnt))

해결법은 간단하게
첫번째 문자열에 대한 값을 처리 해주고,
이후 다음 인덱스의 문자값에 대해 변화가 있다면
해당의 값을 증가 시켜주고
마지막으로 두 변수값에서 작은 값을 출력하면 된다.

profile
배움의 흔적을 남기고 싶습니다.

0개의 댓글