hahn

단계별로 풀어보기(이분 탐색 - 수 찾기) 본문

코딩테스트 연습/백준(JAVA)

단계별로 풀어보기(이분 탐색 - 수 찾기)

hahn 2021. 9. 18. 10:57
728x90
반응형

1920번: 수 찾기 (acmicpc.net)

 

1920번: 수 찾기

첫째 줄에 자연수 N(1 ≤ N ≤ 100,000)이 주어진다. 다음 줄에는 N개의 정수 A[1], A[2], …, A[N]이 주어진다. 다음 줄에는 M(1 ≤ M ≤ 100,000)이 주어진다. 다음 줄에는 M개의 수들이 주어지는데, 이 수들

www.acmicpc.net

http://boj.kr/2ea1dc868f654029b5879504e62b4789

 

공유 소스 보기

 

www.acmicpc.net

더보기
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.util.HashMap;
import java.util.Map;
import java.util.StringTokenizer;

class Main{
    
    public static void main(String[] args) throws IOException {
        
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
		
		int count = Integer.parseInt(br.readLine());
		
		String token;
		
		Map<String, Integer> map = new HashMap<String, Integer>();
		
		StringTokenizer st;
		
		st = new StringTokenizer(br.readLine(), " ");
		
		for(int i = 0; i < count; i++) {
			
			token = st.nextToken();
			
			if(map.get(token) == null) map.put(token, 0);
			
		}
		
		count = Integer.parseInt(br.readLine());
		st = new StringTokenizer(br.readLine(), " ");
		
		for(int i = 0; i < count; i++) {
			
			token = st.nextToken();
				
			bw.write(map.get(token) != null ? "1" : "0");
			bw.newLine();
			
			
		}
		
		bw.close();
        
    }
    
}

 

이분 탐색 이용하지 않고,

 

Map으로 풀어버렸다....

728x90
반응형