코딩/백준
[백준/파이썬/자료구조] 10815번 숫자 카드 코딩테스트 연습풀이
thisisjade
2022. 5. 23. 16:05
728x90
문제 출처: https://www.acmicpc.net/problem/10815
10815번: 숫자 카드
첫째 줄에 상근이가 가지고 있는 숫자 카드의 개수 N(1 ≤ N ≤ 500,000)이 주어진다. 둘째 줄에는 숫자 카드에 적혀있는 정수가 주어진다. 숫자 카드에 적혀있는 수는 -10,000,000보다 크거나 같고, 10,
www.acmicpc.net
문제
숫자 카드는 정수 하나가 적혀져 있는 카드이다. 상근이는 숫자 카드 N개를 가지고 있다. 정수 M개가 주어졌을 때, 이 수가 적혀있는 숫자 카드를 상근이가 가지고 있는지 아닌지를 구하는 프로그램을 작성하시오.
정답
import sys
from collections import Counter
_ = int(input())
N_array = list(input().split())
_ = int(input())
M_array = list(input().split())
dic = Counter(N_array)
print(' '.join(f'{dic[i]}' if i in dic else '0' for i in M_array))
1. Counter모듈을 입력
2. N, N_array, M, M_array 입력 --> N, M은 _을 통해 입력 안받게 세팅
3. dic --> N_array를 Counter를 통해 카운팅을 한 후 입력
4. for문과 if-else로 세팅 후 join을 통해 한자리씩 입력
숫자 카드 2를 먼저 풀어서 같은 코드로 답이 되네요!
숫자가 안겹치는 조건인것 같아서 이분탐색을 이용해서도 풀수 있을 것 같다고 생각이 드네요.
728x90