qkr0245   1년 전

해당 문제에서 입력값을 A,B에 분배하여 담을 때

1. A, B = int(sys.stdin.readline().split())

2. A, B = int(input().split())   은 타입오류가 발생

int() argument must be a string, a bytes-like object or a number, not 'list'int() 

< 인수는 '목록'이 아닌 문자열, 바이트열류 객체 또는 숫자여야 합니다. >라고하는데

A, B = map(int, input().split()) 은 가능합니다

무엇이 차이이고 1,2 를 가능하게 만들려면 어떻게 해야하는지 알 수 있을까요?

chldn323   1년 전

말 그대로 int()로 변환하려면 안에 목록(list)가 있으면 안 됩니다.

split()은 문자열을 괄호 안의 내용을 기준으로 잘라서 list를 반환합니다.(아무것도 입력하지 않으면 공백이 기준)

따라서 1,2는 불가능합니다.

map은 활용법이 매우 많지만 2번째 인수에 있는 리스트의 내용을 첫번째 인수에 매핑한다고 생각하면 됩니다.

원래 list를 사용하는 함수이기 때문에 map을 사용하는 게 맞습니다.

댓글을 작성하려면 로그인해야 합니다.