문자열을 String으로 받은 후 뒤에서부터 한자리 두자리 순으로 잘라서 비교를 해주었다.
한번이라도 같은 숫자가 나오면 안되기 때문에 정렬을 해준 후 뒷숫자와만 비교를 해주어 연산을 최소화 해주었다.
import java.util.*;
public class Main {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
int N=in.nextInt();
int y=1,z=1;
String x[] = new String[N];
String stu[]= new String[N];
for(int i=0;i<N;i++)
stu[i]=in.next();
for(int j=1;j<=stu[1].length();j++) {
for(int i=0;i<N;i++) {
x[i]=stu[i].substring(stu[1].length()-y,stu[1].length());
}
y++;
z=1;
Arrays.sort(x);
for(int i=0;i<N-1;i++) {
if(x[i].equals(x[i+1])) {
z=0;
break;
}
}
if(z==1) {
System.out.println(y-1);
break;
}
}
}
}