ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 백준 1000번 (입력)
    백준 with Python 2022. 12. 20. 16:52

    기본문제라 다음과 같이 코드를 작성하고 넘어가려고 했다.

    A=int(input())
    B=int(input())
    print(A+B)

    하지만 런타임에러가 발생했고 원인을 찾아보니 파이썬은 C와 달리 입력을 띄어쓰기로 하는 것과 두 줄로 나누어 하는 것이 달랐다.

    ex) 1 2

    입력과

    1

    2

    입력을 서로 다르게 받아야 한다.

     

    A, B=input().split()
    print(int(A)+int(B))

    위와 같이 적으면 문자열을 받아서 A와 B에 각각 넣어주고 그것을 정수화해서 더한 후 출력하면 된다.

     

    A, B= map(int, input().split())
    print(A+B)

    위와 같이 더 깔끔하게 작성할 수 있다.


    input() : 문자열을 입력받는 함수

    정수형을 받기 위해서는 먼저 input()으로 받은 후 int()로 변환해 주어야 한다.

    input('a= ')과 같이 입력을 도와주는 인터페이스도 만들 수 있다.

     

    .split() : 띄어쓰기를 기준으로 나누어 주는 함수

    ex) a='hello world' -> a.split() -> a=['hello', 'world']

     

    input().split() : 문자열을 입력받아 나누어 준다.

     

    map() : 입력한 자료형에 입력된 함수를 각각 전부 다 적용한다.

    ex) A, B= map(int, ['12', '34'])

    >>

    A=12

    B=34

     

    map( int, input().split() ) : 문자열을 입력받아 나눈 후 정수형으로 변환해준다.

     

    ** int( input().split() )은 안되나요?

    split으로 나누어지면 리스트가 되는데 int는 리스트를 한번에 정수형으로 변환할 수 없다.

     

     

Designed by Tistory.