Baekjoon Online Judge [Python] 31403번 A+B-C

2024. 11. 21. 23:04CODING/BOJ [python]

320x100

 

연산하는 문제인데, 각각 수와 문자열로 생각했을 때의 값을 도출해야 한다.

문제

 

 

입력 조건 : A, B,C가 0으로 시작하지 않는 1보다 크거나 같고, 1000보다 크거나 작은 정수
출력 조건 : 각 정수를 수와 문자열로 생각했을 때의 A+B-C 계산

입출력 조건

 

 

 

단순 연산으로 생각해서

A, B, C를 정수로 지정하고, 문자열 계산을 str을 사용해 변환했다.

A = int(input())
B = int(input())
C = int(input())

print(A+B-C)
print(str(A)+str(B)-str(C))

 

 

그런데!!

위 코드를 실행하면 오류가 뜬다.

오류

 

오류가 뜬 이유는!

pyhton에서 문자열 타입끼리는 - 연산을 지원하지 않는다.

그렇기 때문에 str을 사용한 -str(C)이 있는 print구문에서 에러가 발생하는 것이다.

 

 

정수로 입력받아야 하기 때문에 A, B, C는 int(input())을 사용해야 한다.

또한, 정수로 입력받았기 때문에 수로 생각했을 때의 pint(A+B+C)도 그대로 써야한다.

두번째 출력문을 수정해야 하는데..

 

예제 출력 1을 보면

A=3, B=4, C=5를 문자열로 생각했을 때는 '3'+'4'-'5' = '34'-'5' = 29 이다.

 

 어라? 문자열로 계산하는건 A와 B인것 같은데, C는 int로 계산하면 되는건가?

그래서 str문자열은 +인 A+B에만 사용하고 int로 변환해서 -C를 계산하는 코드를 작성했다!!

A = int(input())
B = int(input())
C = int(input())

print(A+B-C)
print(int(str(A)+str(B))-C)

 

 

완성된 코드를 보면 짧고 단순해보이는데

생각하는 과정은 만만치않다..

이건 내 코딩 실력이 부족하단 거겠지?

조금 더 빠르게 코딩할 수 있도록 노력하자!!

320x100
320x100