최대 1 분 소요

1. 문제

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

  • 문자열 문제
// 문제
여덟 자리의 양의 정수가 주어질 , 
 안에서 연속하여 같은 숫자가 나오는 것이 없으면 1 출력하고, 
있으면 같은 숫자가 연속해서 나오는 구간  
가장  것의 길이를 출력하는 프로그램을 작성하라. 

예를 들어  개의 숫자 12345123, 17772345, 22233331 주어졌다고 하자. 
12345123 연속하여 같은 숫자가 나오는 것이 없으므로 1 출력하고, 
17772345 7   연속하여 나오므로 3 출력하며, 
22233331 경우에는 2  , 3   연속해서 나오므로 
   값인 4 출력하여야 한다.  

// 입력
첫째 줄부터 셋째 줄까지  줄에 하나씩  개의 여덟 자리 양의 정수가 주어진다.

// 출력
첫째 줄에서 셋째 줄까지  줄에 하나씩  입력된  내에서 
같은 숫자가 연속하여 나오는 가장  길이를 입력 순서대로 출력한다.

// 예제 입력 1 
12345123
17772345
22233331

// 예제 출력 1 
1
3
4


2. 핵심 아이디어


3. Python 문제풀이

import sys
input = sys.stdin.readline

for _ in range(3) :
  s = str(input().rstrip())
  mx = 1
  cnt = 1
  for i in range(1, len(s)) :
    if s[i] == s[i-1] :
        cnt += 1
    else :
        mx = max(cnt, mx)
        cnt = 1
  mx = max(cnt, mx)
  print(mx)


4. Java 문제풀이


댓글남기기