728x90
문제
접근방법
1. N이 1000이기 때문에 이중포문을 돌아도 충분히 가능하다고 생각했습니다. O(N^2)
2. 값을 받을때 후보를 set에 넣어서 set이 포함된 숫자는 건너 뛰어서 가장 긴 연속된 값을 찾으려고 생각했습니다.
코드
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.StringTokenizer;
import java.util.TreeSet;
public class Main {
private static StringBuilder sb;
private static BufferedReader br;
private static StringTokenizer st;
private static int N;
private static int[] arr;
private static TreeSet<Integer> set = new TreeSet<Integer>();
private static int answer = 0 ;
//입력
public static void input() throws Exception {
br = new BufferedReader(new InputStreamReader(System.in));
sb = new StringBuilder();
N = Integer.parseInt(br.readLine());
arr = new int[N];
for(int i = 0 ; i < N ; i++){
arr[i] = Integer.parseInt(br.readLine());
set.add(arr[i]);
}
}
//실행
public static void process() {
for(int i : set){
int count = 0;
int temp = -1;
for(int j = 0 ; j < N ; j++){
//용량이 같으면 건너뛰기
if(arr[j] == i) continue;
//이전값과 동일하지 않으면 초기화
if(arr[j] != temp){
answer = Math.max(answer, count);
temp = arr[j];
count = 1;
//이전과 동일하면 카운트 증가
}else{
count++;
}
}
answer = Math.max(answer,count);
}
System.out.println(answer);
}
public static void main(String[] args) throws Exception {
input();
process();
}
}
'코딩테스트 > 백준' 카테고리의 다른 글
[Java] 백준 1874번 : 스택 수열 (0) | 2024.04.16 |
---|---|
[Java] 백준 14718번 : 용감한 용사 진수 (0) | 2024.04.16 |
[Java] 백준 2304번 : 창고 다각형 (0) | 2024.04.16 |
[Java] 백준 1676번 : 팩토리얼 0의 개수 (0) | 2024.04.15 |
[Java] 백준 7696번 : 반복하지 않는 수 (0) | 2024.04.15 |