20241125 파이썬 list(map(int, input())), and & or & not
N * M 2차원 리스트의 맵 정보 입력받기
첫번째 줄에 세로 길이 N과 가로 길이 M이 주어지고, 두번째 줄부터 N+1번째 줄까지 맵의 정보가 주어지는 문제 형태가 많다.
공백으로 구분된 입력 - map(int, input().split())
이때, N과 M이 공백으로 구분되어 입력되면 다음과 같이 map(int, input().split())을 사용하여 입력받는다.
N, M = map(int, input().split())
공백으로 구분되지 않은 입력
map(int, input())
만약 두번째 줄부터 N+1번째 줄까지 주어지는 맵의 정보가 숫자이고 공백없이 입력되면 map(int, input())을 사용하여 입력받는다.
map()
함수는 map(적용할 함수, 반복 가능한 자료형)의 형태로 사용한다.
input()
은 입력을 문자열로 저장하고, 문자열은 순서가 있는 반복이기 때문에 map
에서 차례로 int()
함수가 적용되어 정수로 바뀌는 것이다.
list(map(int, input()))
append() 함수는 argument를 하나만 사용할 수 있기 때문에 map(int, input())
그대로 리스트에 append 해버리면 에러가 발생한다.
map(int, input())
를 list로 묶어준 뒤 그 리스트를 append 해준다.
graph = []
for _ in range(N):
graph.append(list(map(int, input())))
논리연산자
파이썬에서는 논리연산자로 and(그리고)
, or(또는)
, not(부정)
을 사용한다.
Leave a comment