Link
Recent Posts
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- 튜플
- 파이썬튜플
- 실기
- 예측모델링
- 빅분기실기
- 셋
- 공공빅데이터청년인턴
- 백준1920
- 워드클라우드
- 행별속성합계
- 공빅데기관매칭
- 파이썬입출력
- dataq
- 리스트
- konlpy
- 빅데이터분석기사
- 딕셔너리
- set시간복잡도
- 컨테이너
- 2회기출
- 공빅데
- csv병합
- 빅분기
- 파이썬
- 파이썬셋
- 백준 2164
- 작업형2
- 파이썬AHP
- 태블로
- 파이썬딕셔너리
- Today
- Total
Data Science
[파이썬] 백준 10816: from collections import Counter 본문
오답 - 시간초과
N = int(input())
org_list = list(map(int,input().split()))
M = int(input())
new_list = list(map(int,input().split()))
for num in new_list:
cnt = org_list.count(num)
print(cnt,end=' ')
처음에 숫자 카드들의 갯수를 보고 단순히 풀면 시간초과가 나겠구나 예상했지만
간단하기 때문에 먼저 시도를 해봤다.
new_list 에서 숫자를 하나씩 불러와 org_list에 해당 숫자가 몇 개 있는지 판단하는 방식으로 만들었다.
예상과 같이 시간초과가 났다.
- 파이썬에는 해당 요소들이 몇개가 있는지 세어주는 함수가 존재
- from collections import Counter를 통해서 Counter 메서드를 가져옴
- 리스트 N을 Counter에 넣으면 N의 요소들의 숫자를 센 Dictionary자료형이 출력
- Counter(N)에 M의 요소가 있다면 해당 숫자를 출력하고 없으면 0을 출력
정답
N = int(input())
org_list = list(map(str,input().split()))
M = int(input())
new_list = list(map(str,input().split()))
from collections import Counter
Cnt = Counter(org_list)
# print(Cnt)
# # Counter({'10': 3, '3': 2, '-10': 2, '6': 1, '2': 1, '7': 1})
for num in new_list:
if num in Cnt:
print(Cnt[num],end=' ')
else:
print(0,end=' ')
또 다른 방법으로는 이분탐색이 있다.
이분탐색을 다시 공부해야 할 것 같다.
'알고리즘' 카테고리의 다른 글
[이코테] p149 - 음료수 얼려먹기 bfs (0) | 2022.11.19 |
---|---|
[파이썬] 백준 2164 : 리스트는 큐로 이용하면 안된다. (0) | 2022.05.18 |
[파이썬] 백준 1920 : list와 set의 시간복잡도 (0) | 2022.05.18 |
[SWEA] 2005번 파스칼의 삼각형 파이썬(Python) (0) | 2022.05.05 |
파이썬 백준 2908 (0) | 2021.10.06 |
Comments