728x90
✏️ 문제 링크
https://www.acmicpc.net/problem/10816
❌ 실패....ㅠㅠ (시간초과)
n= int(input()) #상근이가 가지고 있는 숫자 카드의 개수
cards= list(map(int,input().split())) #숫자 카드에 적혀있는 정수
m= int(input())
test= list(map(int,input().split()))
for i in test:
result = cards.count(i)
print(result,end=" ")
❓ 정답은 ??
n= int(input()) #상근이가 가지고 있는 숫자 카드의 개수
cards= list(map(int,input().split())) #숫자 카드에 적혀있는 정수
m= int(input())
test= list(map(int,input().split()))
dic= {}
for i in cards:
dic[i] = dic.get(i, 0) + 1
for i in test:
if i in dic: print(dic[i], end=" ")
else: print(0, end=" ")
💯 풀이 과정
* input을 stdin.readline으로 해도 계속시간초과가 나서 방법이 없을까 하다가 딕셔너리로하면 빠르다는 남편님의 조언을 듣고서 풀이를 하게 되었다.
1) dic이라는 딕셔너리를 만든다.
2) 상근이가 갖고 있는 카드를 dic의 key값으로 해준다.
3) 딕셔너리 value는 get( )함수를 써서 에서 값이 있다면 값 출력하고 / 없으면 기본값을 0으로 지정해준다.
--> 즉, 값이 있다면 +1씩 넣어주게 된다.
4) 나중에 test해야할 것은 반복문을 돌리고, 딕셔너리안에 있으면 value 도출, 없으면 0을 출력하게 한다.
😎 오늘의 한줄평
딕셔너리 함수에 대해 열심히 공부해두자!
728x90
'😁 빅데이터 문제 풀기 & Study > - BAEKJOON 문제' 카테고리의 다른 글
CLASS 2 / [10866] 덱 / 파이썬 (0) | 2022.01.31 |
---|---|
CLASS 2 / [11050] 이항계수1 / 파이썬 (combinations 모듈 활용하기) (0) | 2022.01.31 |
CLASS 2 / [1259] 팰린드롬수 / 파이썬 (문자열 인덱싱) (0) | 2022.01.31 |
[11650] 좌표 정렬하기 / 파이썬 (sort 함수 key 기능) (0) | 2022.01.28 |
[10814] 나이순 정렬 / 파이썬 (feat. sort( ) 함수의 재발견 key😶!!!) (0) | 2022.01.27 |