728x90
문제 10815
10815번: 숫자 카드
첫째 줄에 상근이가 가지고 있는 숫자 카드의 개수 N(1 ≤ N ≤ 500,000)이 주어진다. 둘째 줄에는 숫자 카드에 적혀있는 정수가 주어진다. 숫자 카드에 적혀있는 수는 -10,000,000보다 크거나 같고, 10,
www.acmicpc.net

이 문제를 풀기 위해 알아야 할 개념은 다음과 같습니다.
> set()
> 이진탐색
이 문제는 크게 두 가지 방법으로 풀 수 있습니다. set() 을 이용하여 풀거나 이진탐색을 이용하여 풀 수 있는데, set() 을 이용하는 것이 더 간단합니다.
1. 문제 풀이
이 문제를 set() 을 이용해서 풀 때 유의해야 할 점이 있습니다. 첫 번째로 받는 숫자들은 중복을 제거해도 상관 없지만, 두 번째로 받는 숫자들은 중복을 제거하면 안됩니다.
따라서 아래 코드처럼, str 은 set() 을 이용하여 집합으로 처리하고, str1 은 list() 를 이용하여 중복된 숫자들도 모두 받습니다. 리스트 str1 에 있는 원소가 집합 str 에 있는지 조건문을 통해 판단하여 있으면 1을 출력, 없으면 0을 출력하게 한다.
n = input()
str = set(map(int, input().split()))
m = input()
str1 = list(map(int, input().split()))
print(str1)
for i in str1:
if i in str:
print(1, end=' ')
else:
print(0, end=' ')
728x90
'Algorithm > Baekjoon' 카테고리의 다른 글
[Baekjoon] 백준 11123번: 양 한마리... 양 두마리... (JAVA) (2) | 2023.10.11 |
---|---|
[Baekjoon] 백준 14248번: 점프 점프 (JAVA) (0) | 2023.10.11 |
[Baekjoon] 백준 5972번: 택배 배송 (JAVA) (0) | 2023.10.09 |
[Baekjoon] 백준 17070번: 파이프 옮기기 1 (JAVA) (0) | 2023.10.08 |
[Baekjoon] 백준 알고리즘(Python) 1620 - 나는야 포켓몬 마스터 이다솜 (0) | 2023.01.08 |