
코드 설명에앞서 우선 어제 벨로그 서버가 터져서 글을 올리지 못했다.
HashSet을 사용해 각 번호가 중복되지 않는지 판별하였다.
시간복잡도: O(N*len²), 공간복잡도: O(N)
import java.util.*;
import java.io.*;
class Main {
public static void main (String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int n = Integer.parseInt(br.readLine());
String [] arr = new String[n];
for(int i=0;i<n;i++){
arr[i] = br.readLine();
}
int len = arr[0].length();
int k=1;
while(true){
boolean check = true;
HashSet<String> hs = new HashSet<>();
String [] arr2 = new String[n];
for(int i=0;i<n;i++){
arr2[i] = arr[i].substring(len-k);
if(!hs.add(arr2[i])){
check = false;
break;
}
}
if(check){
System.out.println(k);
break;
}
k++;
}
}
}
