이진탐색 > 문제은행



1295 : 이진탐색

제한시간
1000 ms   
메모리제한
32 MB   
해결횟수
1982 회   
시도횟수
3849 회   

문제

오름차순의 순서대로 정렬되어 있는 N개의 데이터에서 특정한 숫자가 몇 번째 위치에 있는지를 알아내는 프로그램을 작성하시오.

각 데이터 값의 범위는 정수범위이다.


입력형식

첫 줄에 N이 주어진다. N은 정렬되어 주어지는 데이터의 수이다.(1≤N≤50,000) 둘째 줄에는 N개의 서로 다른 정수 Ai가 정렬되어 주어진다. 각 수 Ai는 공백 하나로 분리되어 주어진다. ( Ai는 int범위의 정수) 셋째 줄에는 데이터에서 찾아야할 특정한 수의 개수 T가 주어진다. 즉, T가 3이면 3개의 수를 정렬된 데이터에서 찾아야 한다.(1≤T≤10,000) 넷째 줄에는 T개의 수가 공백 하나로 분리되어 주어진다.

출력형식

찾아야할 수가 정렬되어 주어진 데이터의 수중에서 앞에서부터 몇 번째에 있는지 그 위치를 출력한다. 첫 번째 위치는 1이다. 만약, 찾으려는 수가 주어지는 데이터에 존재하지 않는다면, 0을 출력한다.

입력 예

7 
2 4 9 10 14 23 32 
3 
6 23 9

출력 예

0
6
3

탐색

경기도 안양시 동안구 평촌대로 109 협성골드프라자 601호

TEL : 031-360-4144 FAX : 031-388-0996 E-mail : hancomc@hotmail.com, comkiwer@naver.com

Copyrightⓒ 2010-2019 jungol. All right reserved.

TOP