input = sys.stdin.readline
input = sys.stdin.readline에 대해서 이야기 하겠습니다.
이존의 input()의 경우는 메시지를 출력하는 과정이 필요합니다.
input("입력할 문장을 입력하시오") 이런식으로 이해하기 쉬운코드입니다.
하지만 " 입력할 문장을 입력하시오"라는 문자열이 필요없는 경우면 필요없는기능을 쓰게 되는 셈인데요
이러면 알고리즘상으로 필요없는 자원을 쓸수밖에없습니다.
input = sys.stdin.readline을 입력하는 것만으로 prompt message를 사용하지않을 수 있습니다.
list(map(int, sys.stdin.readline().split()))
위코드를 여러번 입력을 한번에 받아서 리스트로 만드는 코드임
n = int(sys.stdin.readline())
n_list=list(map(int, sys.stdin.readline().split()))
이코드는 1번과2번을 응용한코드이다.
map(int,input().split())
기존의 input은 한번의 입력을 받는 형식입니다.
A=input()은 가능하지만 A,B=input()의 경우는 에러가 난다
그러면 한번에 어려개의 입력을 받는 방법은 위의 작성한 코드이다.
map(타입,input().split())이다.
타입에는 int외에서 double이나,float,string등의 방식이 존재한다.
이코드를 사용하면 여러번의 입력을 한번에 처리할 수있다.
list(map(int,input().split())) for i in range(m)
리스트입력에 있어서 행렬로 만드는 방식이다.
기존의 여러번 입력을 하는 경우는 [1,2,3,4,5,6] 이런 타입의 데이터를 만들것이다.
하지만 행렬로
[[1,2,3]
,[4,5,6]]
받고 싶은 경우는
[list(map(int,input().split())) for i in range("행렬의 행의 갯수")]
위코드를 통해서
1 2 3
4 5 6
이렇게 입력하면 행렬이 이만들어 집니다.
위경우는 행렬의 갯수는 2입니다.
'백준' 카테고리의 다른 글
1065백준 (0) | 2024.02.16 |
---|---|
백준 1929번 (1) | 2024.02.01 |
백준 10815번 (1) | 2024.01.31 |
행렬의 곱 구현코드 리스트버전 (1) | 2024.01.08 |
행렬의 곱셈 백준2740 (1) | 2024.01.08 |