728x90
Key Point
예제에서 볼 수 있듯이 맨 처음 입력되는 기준 리스트의 원소가 겹치는 원소가 있을 수 있기 때문에 dict 자료 구조를 사용하였다. key, value를 통해 해당 숫자(key)가 몇개를 가지고 있는지(value)를 나타내어 쉽게 문제를 해결할 수 있기 때문이다.
알게 된 문법
dict 관련 문법.
기본 문법 정리 게시물에 추가.
import sys
N = int(sys.stdin.readline())
lists1 = list(map(str, sys.stdin.readline().split()))
M = int(sys.stdin.readline())
lists2 = list(map(str, sys.stdin.readline().split()))
temp_dict= {} #dict 선언
result = [0 for _ in range(M)] #출력값 저장할 list 선언
for i in lists1: #lists1 for문
if i in temp_dict: #temp_dict에 lists1의 원소가 있다면
temp_dict[i] +=1 #temp_dict[i] 즉, value에 +1
else:
temp_dict[i] = 1 #없다면(temp_dict에 key, value 쌍으로 저장)
for idx, val in enumerate(lists2):
if val in temp_dict: #temp_dict에 lists2의 원소가 있다면
result[idx] = temp_dict[val] # result list에 temp_dict에 해당 key의 val 값 저장
for i in result: #출력
print(i, end=' ')
728x90
'백준 풀이' 카테고리의 다른 글
[백준/BOJ] - 10828번 python 풀이 - deque, 덱 활용 (0) | 2022.11.23 |
---|---|
[백준/BOJ] - 10866번 python 풀이 - deque, 덱 활용 (0) | 2022.11.22 |
[백준/BOJ] - 4949번 python 풀이 - stack 개념 (0) | 2022.11.22 |
[백준/BOJ] - 9012번 python 풀이 - stack 개념 (0) | 2022.11.22 |
[백준/BOJ] - 2839번 python 풀이 - Greedy algorithm (0) | 2022.11.21 |