2495번 : 연속구간
문제 )
여덟 자리의 양의 정수가 주어질 때, 그 안에서 연속하여 같은 숫자가 나오는 것이 없으면 1을 출력하고, 있으면 같은 숫자가 연속해서 나오는 구간 중 가장 긴 것의 길이를 출력하는 프로그램을 작성하라.
예를 들어 세 개의 숫자 12345123, 17772345, 22233331이 주어졌다고 하자. 12345123은 연속하여 같은 숫자가 나오는 것이 없으므로 1을 출력하고, 17772345는 7이 세 개 연속하여 나오므로 3을 출력하며, 22233331의 경우에는 2가 세 개, 3이 네 개 연속해서 나오므로 그 중 큰 값인 4를 출력하여야 한다.
입력 :
첫째 줄부터 셋째 줄까지 각 줄에 하나씩 세 개의 여덟 자리 양의 정수가 주어진다.
출력 :
첫째 줄에서 셋째 줄까지 한 줄에 하나씩 각 입력된 수 내에서 같은 숫자가 연속하여 나오는 가장 긴 길이를 입력 순서대로 출력한다.
풀이)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
|
#include <iostream>
#include <string>
using namespace std;
int main()
{
string word;
for (int i = 0; i < 3; i++) {
int cnt = 1, max = 1;
cin >> word;
for (int j = 1; j < word.length(); j++) {
if (word[j] == word[j - 1]) {
cnt++;
if (max < cnt) {
max = cnt;
}
}
else if (word[j] != word[j - 1]) {
cnt = 1;
}
}
cout << max << "\n";
}
return 0;
}
|
cs |
출처 : https://www.acmicpc.net/problem/2495
2495번: 연속구간
여덟 자리의 양의 정수가 주어질 때, 그 안에서 연속하여 같은 숫자가 나오는 것이 없으면 1을 출력하고, 있으면 같은 숫자가 연속해서 나오는 구간 중 가장 긴 것의 길이를 출력하는 프로그램을
www.acmicpc.net
'Develop > 백준 (Cpp)' 카테고리의 다른 글
[백준] 2789번 : 유학 금지 (C++) (1) | 2023.02.04 |
---|---|
[백준] 2484번 : 주사위 네개 (C++) (0) | 2023.02.04 |
[백준] 2720번 : 세탁소 사장 동혁 (C++) (1) | 2023.02.04 |
[백준] 2609번 : 최대공약수와 최소공배수 (C++) (0) | 2023.02.04 |
[백준] 2609번 : 최대공약수와 최소공배수 (C++) (0) | 2023.02.03 |