백준 1235번 학생 번호 JAVA

YB·2025년 3월 5일

링크텍스트

설명

코드 설명에앞서 우선 어제 벨로그 서버가 터져서 글을 올리지 못했다.
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++;
	    }
	}
}

profile
안녕하세요

0개의 댓글