본문 바로가기
Algorithm

[구현/문자열] 백준 2495 연속구간 - 파이썬(Python)

by jangThang 2022. 3. 18.
반응형

백준 온라인 저지

 

[ Contents ]

     

     

    1. 문제 (링크 참조)

     

    2495번: 연속구간

    여덟 자리의 양의 정수가 주어질 때, 그 안에서 연속하여 같은 숫자가 나오는 것이 없으면 1을 출력하고, 있으면 같은 숫자가 연속해서 나오는 구간 중 가장 긴 것의 길이를 출력하는 프로그램을

    www.acmicpc.net

     

     

     

    2. 문제 풀이

     같은 숫자가 연속해서 나오는 최대 길이를 구하는 문제입니다. 이전 글자와 같은지 판별한 뒤, 연속 횟수를 세주면 됩니다.

     

     

     

    3. 코드

    #입력
    for _ in range(3):
        s = input()
        len_max = 0 #가장 긴 길이
        cnt = 1 #같은 숫자가 나온 횟수
        for i in range(1, len(s)):
            #전과 같으면 +1, 다르면 1로 초기화
            if s[i-1] == s[i]:
                cnt += 1
            else:
                cnt = 1
    
            #cnt가 더 크면 max값 교체
            if cnt > len_max:
                len_max = cnt
        print(len_max)

     이전 숫자와 같으면 cnt를 +1 해주고, 다르면 1로 다시 초기화합니다. 리듬게임의 combo와 비슷한 로직입니다.

     

    star가 되고나서 Tistory

    반응형

    댓글