반응형
리뷰
간단한 조건문으로 풀이가 가능한 문제
문제 풀이
- 문자열 세개를 각각 a, b, c 변수에 입력 받고, 최대값을 나타낼 정수 0과 현재 길이를 나타낼 1을 각각 초기화 해준다.
- a, b, c 문자열의 현재 문자와 다음 인덱스의 문자가 같을 경우 현재 길이를 1 늘려준다.
- 최대값과 현재 길이를 비교하여 더 큰값을 최대값으로 최신화 해준다.
- for문이 완료된 후 a, b, c의 최대 연속된 값을 줄바꿈을 통하여 출력해 준다.
참고 사항
없음
정답 코드
#include <iostream>
using namespace std;
int main() {
string a, b, c;
cin >> a >> b >> c;
int a_max = 0, b_max = 0, c_max = 0;
int a_len = 1, b_len = 1, c_len = 1;
for (int i = 0; i < 7; i++) {
if (a[i] == a[i + 1]) a_len++;
else a_len = 1;
if (b[i] == b[i + 1]) b_len++;
else b_len = 1;
if (c[i] == c[i + 1]) c_len++;
else c_len = 1;
a_max = max(a_max, a_len);
b_max = max(b_max, b_len);
c_max = max(c_max, c_len);
}
cout << a_max << "\n" << b_max << "\n" << c_max;
}
728x90
반응형
'알고리즘 공부 > C++' 카테고리의 다른 글
백준 3059번 등장하지 않는 문자의 합 C++ (0) | 2024.07.21 |
---|---|
백준 2789번 유학 금지 C++ (0) | 2024.07.21 |
백준 5656번 비교 연산자 C++ (0) | 2024.07.21 |
백준 2702번 초6 수학 C++ (0) | 2024.07.21 |
백준 5586번 JOI와 IOI C++ (0) | 2024.07.21 |