Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- error
- Spring
- 공부
- 기초100제
- memory
- 파이썬
- 협업
- OS
- Operating System
- 스프링
- js to ts
- 백준
- 리덕스장바구니
- CPU 스케줄링
- 타입스크립트
- react
- 토이프로젝트
- 프로그래머스
- 자료구조
- web
- 정렬
- 코드업
- Redux
- react-redux
- 분할메모리할당
- Java
- codeup
- C++
- 알고리즘
- 일상
Archives
- Today
- Total
감자튀김 공장🍟
[백준/10815] 숫자 카드 (with 파이썬) 본문
반응형
✔ 문제
✔ 풀이
😥 시간 초과
import sys
input = sys.stdin.readline
n = int(input())
n_cards = list(map(int, input().split()))
m = int(input())
m_cards = list(map(int, input().split()))
res = [0] * m
for i in range(m):
if m_cards[i] in n_cards:
res[i] = 1
print(*res)
🥺 정답 코드
import sys
input = sys.stdin.readline
n = int(input())
n_cards = list(map(int, input().split()))
m = int(input())
check = list(map(int, input().split()))
dict = {} # dictionary 생성
for i in range(n):
dict[n_cards[i]] = 0
for j in range(m):
if check[j] not in dict:
print(0, end=' ')
else:
print(1, end=' ')
✔ 설명
1. check 배열에 있는 수들이 n_cards에 있는지 확인 하는 작업이기 때문에 n_cards의 값을 dict의 key값으로 저장한다.
2. check 배열 길이만큼 for문을 돌려 check 배열에 있는 값이 dict에 없다면 0을, 있다면 1을 출력하도록 한다.
✔ 후기
해당 문제는 for문으로 풀면 시간초과가 난다.
다른 분들 블로그를 참고해보면 dictionary나 이진 탐색으로 푸는데 이진 탐색은 뒤에서 따로 풀기 때문에 dictionary로 풀어봤다.
반응형
'Algorithm > BOJ' 카테고리의 다른 글
[백준/1620] 나는야 포켓몬 마스터 이다솜 (with 파이썬) (0) | 2022.12.02 |
---|---|
[백준/14425] 문자열 집합 (with 파이썬) (0) | 2022.12.01 |
[백준/1436] 영화감독 숌 (with 파이썬) (0) | 2022.11.29 |
[백준/1018] 체스판 다시 칠하기 (with 파이썬) (0) | 2022.11.28 |
[백준/7568] 덩치 (with 파이썬) (0) | 2022.11.27 |
Comments