백준 1000번 파이썬 코드 답안

    문제

    답안

    # 모범 답안
    a,b = map(int,input.split())
    print(a+b)
    
    # 두번째 답안
    a,b = input.split()
    a = int(a)
    b = int(b)
    print(a+b)

    첫째 줄에 입력에 A와 B가 주어진다고 했다. 즉, 두번씩 나눠서 입력을 받으면 안된다는 뜻이다. 나는 이것을 잘 이해하지 못하고 두 번에 걸쳐서 입력을 받게 했더니, 계속 런타임 에러가 발생! 어떻게 방법이 없을까 찾다보니, input.split이 있는 것을 확인했다. 

     

    알게된 점

    1. input.split()으로 연속적인 값을 받게 된다면, 이 값은 스페이스 바를 구분해서 각각의 변수에 저장한다.

    #입력을 스페이스로 구분하지 않았을 때, 에러 발생함
    >>> a,b = input().split()
    12
    Traceback (most recent call last):
      File "<pyshell#254>", line 1, in <module>
        a,b = input().split()
    ValueError: not enough values to unpack (expected 2, got 1)
    
    #입력을 스페이스로 구분해야함. 
    >>> a,b = input().split()
    1 2
    >>>a,b
    ('1', '2')

     

    2. map 함수는 반복적인 객체에 대해서 반복적인 값을 적용할 때 사용한다. 주로 map(함수, 반복가능한 변수) 형식으로 선언을 하는데, 함수에는 lambda 함수, 가내수공업 함수, 그리고 int나 list같은 타입 변환 가능한 모든 함수들이 적용이 가능하다. 

     

    댓글

    Designed by JB FACTORY