문제
여덟 자리의 양의 정수가 주어질 때, 그 안에서 연속하여 같은 숫자가 나오는 것이 없으면 1을 출력하고, 있으면 같은 숫자가 연속해서 나오는 구간 중 가장 긴 것의 길이를 출력하는 프로그램을 작성하라.
예를 들어 세 개의 숫자 12345123, 17772345, 22233331이 주어졌다고 하자. 12345123은 연속하여 같은 숫자가 나오는 것이 없으므로 1을 출력하고, 17772345는 7이 세 개 연속하여 나오므로 3을 출력하며, 22233331의 경우에는 2가 세 개, 3이 네 개 연속해서 나오므로 그 중 큰 값인 4를 출력하여야 한다.
입력
첫째 줄부터 셋째 줄까지 각 줄에 하나씩 세 개의 여덟 자리 양의 정수가 주어진다.
출력
첫째 줄에서 셋째 줄까지 한 줄에 하나씩 각 입력된 수 내에서 같은 숫자가 연속하여 나오는 가장 긴 길이를 입력 순서대로 출력한다.
예제 입력 1 복사
12345123
17772345
22233331
예제 출력 1 복사
1
3
4
<내 코드> 1트
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc= new Scanner(System.in);
String[] N=new String[3];
for (int i=0;i<N.length;i++){
N[i]=sc.next();
}
char ch=N[0].charAt(0);
for (int i=0;i<N.length;i++) {
int count=1;
int temp_count=1;
for (int j = 0; j < 7; j++) {
if (ch==N[i].charAt(j+1)){
count++;
}
else{
ch=N[i].charAt(j+1);
count=1;
}
if (count>=temp_count)
temp_count=count;
}
System.out.println(temp_count);
}
}
}
2트
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc= new Scanner(System.in);
String[] N=new String[3];
for (int i=0;i<N.length;i++){
N[i]=sc.next();
}
char ch=N[0].charAt(0);
int max=1;
for (int i=0;i<N.length;i++) {
int count=1;
int temp_count=1;
for (int j = 0; j < 7; j++) {
if (ch==N[i].charAt(j+1)){
count++;
}
else{
ch=N[i].charAt(j+1);
if (temp_count>=count){
max=temp_count;
}
else {
temp_count = count;
max=temp_count;
}
count=1;
}
if (count>max){
max=count;
}
}
System.out.println(max);
}
}
}
3트
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc= new Scanner(System.in);
String[] N=new String[3];
for (int i=0;i<N.length;i++){
N[i]=sc.next();
}
for (int i=0;i<N.length;i++) {
char ch=N[0].charAt(0);
int count=1;
int max=1;
int temp_count=max;
for (int j = 0; j < 7; j++) {
if (ch==N[i].charAt(j+1)){
count++;
}
else{
ch=N[i].charAt(j+1);
if(count>=max) {
max = count;
}
temp_count=max;
count=1;
}
}
System.out.println(temp_count);
}
}
}
대체 어떻게 하는건지 모르겠어서
블로그 참고함....
출처 https://ddb8036631.github.io/boj/2495_%EC%97%B0%EC%86%8D%EA%B5%AC%EA%B0%84/
[백준] 2495. 연속구간
문제 링크
ddb8036631.github.io
'PS' 카테고리의 다른 글
| [java/백준] 2587번- 대표값 2 (2) | 2023.07.21 |
|---|---|
| [java/백준]2231번- 분해합 (1) | 2023.07.20 |
| [java/백준] 2292번 벌집 (1) | 2023.07.19 |
| [java/백준] 1152번 단어의 개수(3트ㅠㅠ) (2) | 2023.07.14 |
| [java/백준] 2953번- 나는 요리사다 (3) | 2023.07.13 |