백준 10869번 사칙연산
문제
두 자연수 A와 B가 주어진다(1 이상 10,000 이하). A+B, A-B, A*B, A/B(몫), A%B(나머지)를 한 줄에 하나씩 순서대로 출력한다.
풀이
앞선 글들을 합친 형태로, map(int, ...)으로 두 수를 받아 연산 결과를 차례로 출력했다.
A, B = map(int,input().split())
print(A + B)
print(A - B)
print(A * B)
print(A / B)이 코드는 틀린다. 문제는 다섯 줄을 요구하는데 네 줄만 출력하고, 몫이어야 할 넷째 줄도 / 때문에 7 3이면 2.333... 같은 실수가 나온다. 몫은 //, 나머지는 %로 구하고 print(A // B), print(A % B)를 출력해야 한다.
다른 풀이
map 없이 int()를 각각 씌워도 같은 결과를 얻는다.
A, B = input().split()
print(int(A)+int(B))
print(int(A)-int(B))
print(int(A)*int(B))
print(int(A)/int(B))이 코드도 위와 같은 이유로 틀린다. 어느 방식이 더 효율적인지는 아직 잘 모르겠고, 여러 방법을 비교해 보는 과정이라고 생각한다.