본문 바로가기
IT 개인학습/이것이 취업을 위한 코딩테스트다 with 파이썬

sys.stdin.readline(), Python3와 PyPy3

by kiimy 2022. 8. 5.
728x90

입력의 개수가 많은 경우에는 단순히 input() 함수를 그대로 사용하지는 않는다.

파이썬의 기본 input() 함수는 동작 속도가 느려서 시간 초과로 오답 판정을 받을 수 있기 때문이다.

import sys

data = sys.stdin.readline()
# hello world
print(data)

hello world
# 줄 바꿈 공백 생김

data = sys.stdin.readline().rstrip()
print(data)
hello world


# ex
input = sys.stdin.readline
n, m = map(int, input().split())

### map
= 각 원소의 어떤 함수를 적용할지 설정할 수 있음
= map 사용후 바로 활용하는 경우에는 list()를 같이 적용해줘야함
그냥 사용 시 <map object at 0x00000271771B35E0>
readline()으로 입력하면 입력 후 엔터Enter가 줄 바꿈 기호가 입렵됨
rstrip()을 사용하면 공백 문자 제거

 

Python 3 와 PyPy3

간단한 코드상에서는 Python3가 메모리, 속도 측면에서 좋음

복잡한 코드(반복)을 사용하는 경우에서는 PyPy3

 

map() 함수

- "map 오브젝트" 를 반환

- 신경쓰고 싶지않다면 list()무조건 묶어서 사용하기

input_data = map(int, input().split())

print(input_data)

1 3 5 6 9 11 13 15 17 19
<map object at 0x000001F136725DC0>

# list화 없이 적용시킬려면 input data에 맞게 분할 할당
n, t = map(int, input().split())
print(n, t)

10 7
10 7

# 신경쓰지 않고 싶다면 그냥 list로 묶어주면 됨
input_data = list(map(int, input().split()))
728x90

'IT 개인학습 > 이것이 취업을 위한 코딩테스트다 with 파이썬' 카테고리의 다른 글

Sorting 정렬  (0) 2022.08.19
DFS / BFS , Graph Structure  (0) 2022.08.15
Stack, Queue, Recursive Function  (0) 2022.08.13
Implementation(구현)  (0) 2022.08.11
Greedy(탐욕)  (0) 2022.08.09

댓글