반응형
Approach
출처: https://www.acmicpc.net/problem/2495
문자열의 길이 = 8 로 고정되어 있어서
범위를 쉽게 지정할 수 있다.
두번째 문자부터 시작해서 마지막 문자까지 for문으로 탐색하며
이전 문자와 동일한지 검사한다.
같은 문자가 연속해서 있으면 cnt 값을 증가 시키며
기존 최대값 비교해서 갱신해준다.
이전 문자와 같지 않은 경우, 새로운 출발점(비교대상) 처리
C++
#include <stdio.h>
inline int max(int A, int B) { return A > B ? A : B; }
const int LEN = 8;
char str[LEN];
int ans, cnt;
int main()
{
// freopen("input.txt", "r", stdin);
for (int i = 0; i < 3; ++i)
{
scanf("%s", str);
ans = cnt = 1;
for (int cur = 1; cur < LEN; ++cur)
{
// 이전 문자와 같은 경우
if (str[cur - 1] == str[cur])
{
cnt++;
ans = max(ans, cnt);
}
// 이전 문자와 다른 경우
else
{
cnt = 1;
}
}
printf("%d\n", ans);
}
}
Java
import java.util.Scanner;
public class Main
{
public static void main(String[] args)
{
Scanner sc = new Scanner(System.in);
for(int i=0; i<3; i++)
{
String str = sc.next();
int result = 1;
char ch = str.charAt(0);
int temp_result = 1;
for(int j = 1; j < str.length(); j++)
{
// 이전 문자열과 같은 문자열
if(str.charAt(j) == ch )
{
temp_result++;
}
// 다른 문자열인 경우
else
{
ch = str.charAt(j);
temp_result = 1;
}
if(temp_result >= result)
{
result = temp_result;
}
}
System.out.println(result);
}
}
}
반응형
'PS 문제 풀이 > Baekjoon' 카테고리의 다른 글
[BOJ] 백준 2566 최댓값 (1) | 2022.01.10 |
---|---|
[BOJ] 백준 2506 점수계산 (0) | 2022.01.08 |
[BOJ] 백준 2490 윷놀이 (0) | 2022.01.06 |
[BOJ] 백준 2460 지능형 기차 2 (0) | 2022.01.05 |
[BOJ] 백준 2475 검증수 (0) | 2022.01.05 |
댓글