[Baekjoon] 2495번 : 연속구간
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 문제풀이
댓글남기기