[백준] 1620번: 나는야 포켓몬 마스터 이다솜

가영·2021년 2월 11일
0

알고리즘

목록 보기
17/41
post-thumbnail

문제보기

문제는 엄청 긴데, 입력 조건만 보면 되고
어렵지 않음 문제였다. 문제는 계속 시간초과가 떴다는 거.

이건 시간초과가 뜨는데

N, M = map(int, input().split())
p = []
for _ in range(N):
	p.append(input())
for _ in range(M):
	s = input()
	if '0' <= s[0] and s[0] <= '9' : # 숫자 판별
		print(p[int(s)-1])
	else:
		print(p.index(s)+1)

숫자 판별 메소드 쓰니까 맞았다 ..

N, M = map(int, input().split())
p = []
for _ in range(N):
    p.append(input())
arr = []
for _ in range(M):
    arr.append(input())
for e in arr:
    if e.isdigit(): #여기만 다름
        print(p[int(e) - 1])
    else:
        print(p.index(e) + 1)

isdigit() 을 까먹으면 안될 거같아서 쉬운 문젠데 기록한당🥺

근데 아쉬워서 표준 입출력 써서 하니까 맞긴 했다!

import sys
input = sys.stdin.readline
N, M = map(int, input().split())
p = []
for _ in range(N):
    p.append(input()[:-1]) # 개행문자 빼고 리스트에 넣기
arr = []
for _ in range(M):
    arr.append(input()[:-1])
for e in arr:
    if '0' <= e[0] <= '9': # 파이썬은 이렇게 해도 되더라..
        sys.stdout.write(p[int(e) - 1]+'\n')
    else:
        sys.stdout.write(str(p.index(e) + 1)+'\n')
sys.stdout.flush()

잊지마 표준 입력은 개행까지 받아온다는 거

0개의 댓글