어제 퇴근하고 깜빡 잠이 들었는데 아침까지 자버려서 어제는 공부를 안하게 돼버렸다,,
오늘은 이분탐색 두번째 문제를 풀어보았다.
N개의 정수 중에서 M개의 정수와 일치하는 정수가 몇개인지 확인하는 문제였다.
public static void main(String[] args) throws IOException { BufferedReader bf = new BufferedReader(new InputStreamReader(System.in)); int N = Integer.parseInt(bf.readLine()); int[] n = new int[N]; StringTokenizer st = new StringTokenizer(bf.readLine(), " "); for(int i=0; i<N; i++) { n[i] = Integer.parseInt(st.nextToken()); } Arrays.sort(n); int M = Integer.parseInt(bf.readLine()); int[] m = new int[M]; st = new StringTokenizer(bf.readLine(), " "); for(int i=0; i<M; i++){ m[i] = Integer.parseInt(st.nextToken()); } int[] out = new int[M]; for(int i=0; i<M; i++){ int cnt = 0; for(int j=0; j<N; j++){ if(m[i] == n[j]){ cnt++; } } out[i] = cnt; } for(int i=0; i<M; i++){ System.out.print(out[i] + " "); } }
일단 생각나는 대로 푼 코드이다.
이분탐색 알고리즘 문제를 찾아서 풀기 시작했는데,, 이분탐색을 쓰지 않는,,,,😂
결국 시간초과로 틀렸는데 아무리 생각해도 이분탐색으로 어떻게 풀어야 할 지 감이 안와서
결국 검색찬스를 사용했다.
하지만 접근 방법조차 생각나지 않아서인지,,, 아직 이분탐색과 많이 낯설은 것인지,,
다른 분들의 코드와 설명을 봐도 전혀,,,모르겠,,는,,,,,,🙁
이분탐색,,, 너무 어렵다,, 아직 실버4일 뿐인데 너무 어려운 이분탐색.
좀 더 공부해보고 다시 풀어보기로 하자
꼭.