Python/Coding Test
[Coding Test] 1920번 : 수 찾기
gangee
2023. 9. 1. 15:46
728x90
반응형
문제 설명
N개의 정수 A[1], A[2], …, A[N]이 주어져 있을 때, 이 안에 X라는 정수가 존재하는지 알아내는 프로그램을 작성하시오.
문제 풀이
- input으로 정수와 리스트를 받음
- m 만큼 반복하여 n 리스트에 m 리스트의 i 값이 몇개 있는 count를 활용해 출력
처음 코드
n = int(input())
n_list = list(map(int, input().split()))
m = int(input())
m_list = list(map(int, input().split()))
for i in range(m):
a = n_list.count(m_list[i])
print(a)
- 시간초과
정답 코드
from sys import stdin
n = int(stdin.readline())
n_set = set(map(int, stdin.readline().split()))
m = int(stdin.readline())
m_list = list(map(int, stdin.readline().split()))
for i in m_list:
if i in n_set:
print(1)
else:
print(0)
- 시간초과 문제를 해결하기 위해 input을 stdin.readline 으로 변경하고 반복문 안에 조건문을 이용해 m 리스트에 n 값이 있으면 1 출력, 아니면 0을 출력함
- 그래도 계속 시간초과가 나와서 n 리스트의 값을 set으로 받아왔더니 성공
* 이 문제는 백준 코딩테스트 1920번 문제입니다.
728x90
반응형