[python 파이썬] 백준 2776번 암기왕
2021. 1. 29. 00:58ㆍAlgorithm/BOJ
반응형
1. 첫번째 코드 - 틀림
처음의 테스트케이스 개수 입력을 처음에 아무렇지 않게 여기지않아 틀렸다.
테스트케이스 입력 개수도 신경쓰기!
import sys
# t = int(input())
# n = int(input())
t = int(sys.stdin.readline())
n = int(sys.stdin.readline())
# memo1 = list(map(int,input().split()))
memo1 = list(map(int,sys.stdin.readline().split()))
m = int(input())
# memo2 = list(map(int,input().split()))
memo2 = list(map(int,sys.stdin.readline().split()))
for m in memo2:
if m in memo1:
print(1)
else:
print(0)
2. 두번째 코드 - 틀림
테스트케이스 부분 추가후에 돌려보니 시간 초과가 났다.
아무리 봐도 맞는 코드 같아 검색해보니
시간초과 나는 이유가 list로 했을 때 난다고 하더라. 그래서 list 를 set으로 바꿔주었다
import sys
# t = int(input())
t = int(sys.stdin.readline())
for i in range(t):
# n = int(input())
n = int(sys.stdin.readline())
# memo1 = list(map(int,input().split()))
memo1 = list(map(int,sys.stdin.readline().split()))
# m = int(input())
m = int(sys.stdin.readline())
# memo2 = list(map(int,input().split()))
memo2 = list(map(int,sys.stdin.readline().split()))
for m2 in memo2:
if m2 in memo1:
print(1)
else:
print(0)
3. 세번째 코드 - 맞음
테스트 케이스 부분 추가!
list 를 set으로 바꿔줌!
import sys
# t = int(input())
t = int(sys.stdin.readline())
for i in range(t):
# n = int(input())
n = int(sys.stdin.readline())
# memo1 = list(map(int,input().split()))
memo1 = set(map(int,sys.stdin.readline().split()))
# m = int(input())
m = int(sys.stdin.readline())
# memo2 = list(map(int,input().split()))
memo2 = list(map(int,sys.stdin.readline().split()))
for m2 in memo2:
if m2 in memo1:
print(1)
else:
print(0)
* 테스트케이스 개수 신경쓸 것
* 시간 초과 날 때 list를 set으로 바꿔볼 것!
<참고>
반응형
'Algorithm > BOJ' 카테고리의 다른 글
[text] 백준 15641번 (0) | 2021.01.30 |
---|---|
[python 파이썬] 백준 3079번 입국심사 (0) | 2021.01.29 |
[python 파이썬] 백준 10951번 A+B-4 (0) | 2021.01.28 |
[python 파이썬] 백준 1431번 시리얼 번호 (0) | 2021.01.28 |
[python 파이썬] 백준 11652번 카드 (0) | 2021.01.28 |