문제
해결 과정
시행착오
- 시간 초과 ->
isdigit()
사용, rstrip()
사용, dictionary
사용
import sys
n,m = map(int,sys.stdin.readline().split())
book = []
for _ in range(n):
book.append(sys.stdin.readline().split()[0])
for _ in range(m):
problem = sys.stdin.readline().split()[0]
try:
int(problem)
print(book[int(problem)-1])
except ValueError:
print(book.index(problem) + 1)
풀이
import sys
n,m = map(int,sys.stdin.readline().split())
name_book = []
book = {}
for i in range(n):
pk = sys.stdin.readline().rstrip()
name_book.append(pk)
book[pk] = i+1
for _ in range(m):
problem = sys.stdin.readline().rstrip()
if problem.isdigit():
print(name_book[int(problem)-1])
else:
print(book[problem])
Python 문법
isdigit()
- string 클래스에 있는 메서드
str.isdigit()
- 문자열이 '숫자'로만 이루어져있는지 확인하는 함수
- 문자가 '단 하나'라도 있다면 False 반환
모든 문자가 '숫자'로만 이루어져있으면 True 반환