호기심 많은 분석가
[백준 10816] 숫자 카드 2 (Python) 본문
10816번: 숫자 카드 2
첫째 줄에 상근이가 가지고 있는 숫자 카드의 개수 N(1 ≤ N ≤ 500,000)이 주어진다. 둘째 줄에는 숫자 카드에 적혀있는 정수가 주어진다. 숫자 카드에 적혀있는 수는 -10,000,000보다 크거나 같고, 10,
www.acmicpc.net
import sys
from collections import Counter
n = sys.stdin.readline().strip()
arr1 = sys.stdin.readline().split()
m = sys.stdin.readline().strip()
arr2 = sys.stdin.readline().split()
ct = Counter(arr1)
print(' '.join(f'{ct[i]}' for i in arr2))
간단히 해결할 수 있는 문제였는데 바보같은 짓을 해서 계속 시간초과가 뜨고 있었다.
for ans in arr2 :
print(Counter(arr1)[ans], end=' ')
계속 for문 안에서 Counter를 취해줬더니 당연히 시간초과가 뜰 수 밖에.. 덕분에 다른 분들 코드 보다가 list comprehension과 f-string을 이용하여 간단히 출력한 것을 참고했다. 꽤 나쁘지 않을지도?
'Coding > Coding Test & Algorithm' 카테고리의 다른 글
[백준 9012] 괄호 (Python) (0) | 2021.06.04 |
---|---|
[백준 2164] 카드 2 (Python) (0) | 2021.06.04 |
[백준 15881] Pen Pineapple Apple Pen (Python) (2) | 2021.06.02 |
[백준 1978] 소수 찾기 (Python) (0) | 2021.06.02 |
[백준 10814] 나이순 정렬 (Python) (0) | 2021.06.02 |