naegeora   4달 전

로직은 간단합니다.

1. N개의 카드를 sorting한다.

2. M개의 찾는 숫자에 각각에 대해 이분검색한다.

3.left와 right를 우리가 입력받은 배열의 index로 놓고 배열의 값과 비교하여서 이분 탐색한다.

4. card값과 찾는 숫자가 같은  mid값을 찾으면 그 주변값을 while(card[mid++]==num[i]) 돌면서 res++ 하고

   while(card[mid1--]==num[i]) 하며 res++ 하고, res-1 하여 출력한다. break함.


전체 시간복잡도가 MlogN 50만*log50만=50만*19=1천만 이면 1초안에 끝날것 같은데 안되네요...

indioindio   4달 전

scanner 대신 bufferedreader를 활용해보세요

naegeora   4달 전

indioindio 님 감사합니다.

bufferedreader을 쓰니 통과되네요....

댓글을 작성하려면 로그인해야 합니다.