[Python3] A+B
백준 코딩 웹사이트에서 [문제]->[단계별로 풀어보기]->[입출력과 사칙연산]에 있는 문제이다. 처음 백준 코드에서 자신의 코드를 제출하려고 하면 흔히 하는 실수가 문제에 값을 '입력' 받는다고 했으니 아래처럼 input() 함수만 사용하려고 하는 경우가 많다.
A=input()
B=input()
KEYWORDS 분석
문제를 잘 읽어보면 몇 가지 키워드들을 볼 수 있다.
- 두 정수 A, B를 입력 받음
- 첫째 줄에 A, B 가 주어진다.
이렇게 첫째 줄에 두 개의 정수를 입력받아야 하기 때문에 A와 B를 각각 하나씩 입력받게 되면 키워드에 나온 조건을 벗어나게 된다. 또한 input() 함수는 한 개의 변수만 입력받을 수 있기 때문에 이를 해결하기 위해 split()이라는 함수를 같이 사용한다. split() 함수는 문자열(string)을 받아서 각 단어들을 리스트에 배정하는 함수이다. 이때 input() 함수가 파이썬의 기본 설정 상 입력받은 값은 문자열(string)로 받게 되므로 split()을 사용하여 여러 개의 변수들을 받을 수 있게 한다.
WARNING
문제에서 정수 값을 출력해야 하기 때문에 int()를 이용해 정수형으로 변환해주는 과정이 필요하다. 여기서 주의해야 할 점이 A와 B를 더한 후 int()로 전환할 경우 문제가 발생한다.
A,B=int().split()
print(int(A+B))
첫째줄에 int()로 받은 값들은 string에 해당하므로 만약 A="7" B="3"이라면 A+B="73" 이 돼버리고 이를 int()로 변환하면 숫자 73이 나오게 되므로 오답이 된다.
위의 개념들을 이용해서 아래와 같은 solution을 얻게 된다.
Solution
a,b=input().split() # a,b값을 입력받아서 split()을 통해 a,b에 각각 할당
print(int(a)+int(b))
'Daily 코딩-Python' 카테고리의 다른 글
[파이썬] 백준 10171 (고양이)- print() 출력함수 활용 (0) | 2022.09.11 |
---|---|
[파이썬] 백준 2884번 (알람시계) (0) | 2022.09.11 |
[파이썬] 백준 2588 번 (곱셈) (0) | 2022.09.11 |
[파이썬]백준 10926번 (??!) (0) | 2022.09.09 |
[파이썬]백준 10869번(사칙연산) (0) | 2022.09.07 |
댓글