๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
Algorithm

[๋ฐฑ์ค€] 10815๋ฒˆ: ์ˆซ์ž ์นด๋“œ

by ์ฃผ๋ฐœ2 2020. 1. 22.
๋ฐ˜์‘ํ˜•

https://www.acmicpc.net/problem/10815

 

10815๋ฒˆ: ์ˆซ์ž ์นด๋“œ

์ฒซ์งธ ์ค„์— ์ƒ๊ทผ์ด๊ฐ€ ๊ฐ€์ง€๊ณ  ์žˆ๋Š” ์ˆซ์ž ์นด๋“œ์˜ ๊ฐœ์ˆ˜ N(1 ≤ N ≤ 500,000)์ด๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. ๋‘˜์งธ ์ค„์—๋Š” ์ˆซ์ž ์นด๋“œ์— ์ ํ˜€์žˆ๋Š” ์ •์ˆ˜๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. ์ˆซ์ž ์นด๋“œ์— ์ ํ˜€์žˆ๋Š” ์ˆ˜๋Š” -10,000,000๋ณด๋‹ค ํฌ๊ฑฐ๋‚˜ ๊ฐ™๊ณ , 10,000,000๋ณด๋‹ค ์ž‘๊ฑฐ๋‚˜ ๊ฐ™๋‹ค. ๋‘ ์ˆซ์ž ์นด๋“œ์— ๊ฐ™์€ ์ˆ˜๊ฐ€ ์ ํ˜€์žˆ๋Š” ๊ฒฝ์šฐ๋Š” ์—†๋‹ค. ์…‹์งธ ์ค„์—๋Š” M(1 ≤ M ≤ 500,000)์ด ์ฃผ์–ด์ง„๋‹ค. ๋„ท์งธ ์ค„์—๋Š” ์ƒ๊ทผ์ด๊ฐ€ ๊ฐ€์ง€๊ณ  ์žˆ๋Š” ์ˆซ์ž ์นด๋“œ์ธ์ง€ ์•„๋‹Œ์ง€๋ฅผ ๊ตฌํ•ด์•ผ ํ•  M๊ฐœ์˜ ์ •์ˆ˜๊ฐ€ ์ฃผ์–ด์ง€๋ฉฐ, ์ด

www.acmicpc.net

 

์ฝ”๋“œ

import java.util.HashSet;
import java.util.Scanner;

public class Main {

	public static void main(String[] args) {
		Scanner scan = new Scanner(System.in);
		int N = scan.nextInt();
		HashSet<Integer> hashSet = new HashSet<Integer>();
		for(int i=0; i<N; i++) {
			hashSet.add(scan.nextInt());	// ๊ฐ’ ๋„ฃ๊ธฐ
		}
		
		int M = scan.nextInt();
		for(int i=0; i<M; i++) {
			if(hashSet.contains(scan.nextInt())){	// ๊ฐ’ ๋น„๊ต
				System.out.print(1);
			} else {
				System.out.print(0);
			}
			System.out.print(" ");
		}
		
		scan.close();
	}

}

 

ํ’€์ด

์™„์ „ํƒ์ƒ‰์„ ํ†ตํ•ด ํ’€๋ฉด ์‹œ๊ฐ„์ดˆ๊ณผ๊ฐ€ ๋ฐœ์ƒํ•œ๋‹ค . .

์ด๋ถ„ํƒ์ƒ‰์˜ ๋ฌธ์ œ์ธ๋ฐ ์•„์ง ๊ตฌํ˜„ํ•˜๊ธฐ์— ๋ฒ„๊ฑฐ์›Œ ์ž๋ฃŒ๊ตฌ์กฐ HashSet์„ ์ด์šฉํ–ˆ๋‹ค !

 

HashSet์ด๋ผ๋Š” ์ž๋ฃŒ๊ตฌ์กฐ๋งŒ ์•Œ๋ฉด ์‰ฝ๊ฒŒ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ๋‹ค.

HashSet์— ๊ฐ’์„ ๋„ฃ๊ณ (add), ์ž…๋ ฅ๋ฐ›์€ ๊ฐ’์ด ์žˆ๋Š”์ง€ ์—†๋Š”์ง€(contains) ์ฒดํฌํ•ด์ฃผ๋ฉด ๋.

 

๋ฐ˜์‘ํ˜•

๋Œ“๊ธ€