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(부정)을 사용한다.


Categories:

Updated:

Leave a comment