2022. 11. 10. 05:06ㆍBronze/Bronze V
두 번째, 1001번 문제이다.
1000번 문제와 연산자만 다르지 완벽하게 동일한 로직으로 작동한다.
1000번을 못 푸는데 1001번을 풀 수 있는 사람 없고, 1001번을 풀 수 없는데 1000번만 풀 수 있는 사람도 없다.
그럼 방법도 이제는 알겠다, 본격적으로 풀이에 돌입해 보자.
문제
두 정수 A와 B를 입력받은 다음, A-B를 출력하는 프로그램을 작성하시오.
입력
첫째 줄에 A와 B가 주어진다. (0 < A, B < 10)
예제 입력)
3 2
출력
첫째 줄에 A-B를 출력한다.
예제 출력)
1
내 코드
A, B = map(int, input().split())
print(A - B)
어? 1000번과 코드의 모양새가 조금 다르지 않나? 하고 생각하는 당신. 좋은 포인트를 짚었다.
매번 출력 직전에 문자열에서 정수로 자료형을 변경하는 것은 매우 귀찮은 짓.
그러므로 입력단계에서 정수로 변환시켜 받으면 어떨까? 하여 나온 것이 바로 이 map(int, input().split())이다.
map의 사용법은 map(함수, 리스트)꼴이며, 이는 리스트의 모든 원소를 지정된 함수로 처리해주는 역할을 한다.
input().split()로 받은 리스트의 모든 원소에 int()를 적용시켜서 자동으로 정수꼴로 바꿔 준다는 것이다!
불필요한 for 반복문의 사용을 차단하고 코드의 길이도 줄여서 프로그래머의 손목을 보호해 주는 참으로 착한 함수가 아닐 수 없다.
이제 print(A-B)를 입력해 주면 끝이다. 이미 첫 줄에서 우리가 받은 A, B는 정수이기에 굳이 한 번 더 변환해 줄 필요는 없다.
이로서 1001번의 풀이를 마친다.
'Bronze > Bronze V' 카테고리의 다른 글
BOJ 1271 - 엄청난 부자 2 (Python3) (0) | 2022.11.11 |
---|---|
BOJ 2438 - 별 찍기 - 1 (Python3) (0) | 2022.11.11 |
BOJ 2557 - Hello World (Python3) (0) | 2022.11.10 |
BOJ 1008 - A/B (Python3) (0) | 2022.11.10 |
BOJ 1000 - A+B (Python3) (0) | 2022.11.10 |