STUDY/Algorithm

[백준] 20365 블로그 2 python

sinawi95 2022. 1. 11. 10:56
728x90

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

 

20365번: 블로그2

neighbor 블로그를 운영하는 일우는 매일 아침 풀고 싶은 문제를 미리 정해놓고 글을 올린다. 그리고 매일 밤 각각의 문제에 대하여, 해결한 경우 파란색, 해결하지 못한 경우 빨간색으로 칠한

www.acmicpc.net

손풀겸 푸는 문제 2

가장 넓게 색을 입히는 방법으로 리스트의 앞 뒤를 인덱스로 접근해서 풀었다.

가리키는게 다른 색이면 앞에서만, 같은 색이면 양쪽에서 인덱스를 이동한다.

 

def main():
    N = int(input())
    s = input()
    
    f, b = 0, N - 1
    cnt = 0
    while f <= b and f < N and b >= 0:
        init_f = s[f]
        init_b = s[b]
        cnt += 1
        # 순방향 순회
        while f < N and s[f] == init_f:
            f += 1
    
        if init_f != init_b:
            continue
        # 역방향 순회
        while b >= 0 and s[b] == init_b:
            b -= 1
    print(cnt)

if __name__ == "__main__":
    main()

'STUDY > Algorithm' 카테고리의 다른 글

[백준] 1718 암호 python  (0) 2022.01.12
[백준] 9489 사촌 python  (0) 2022.01.11
[백준] 1668 트로피 진열 python  (0) 2022.01.11
[백준] 1956 운동 python(pypy)  (0) 2022.01.10
[백준]11401 이항 계수 3, python  (0) 2022.01.09