[백준] 2935 - BUKA



문제 정보


  • 문제 이름: BUKA (원문)
  • 문제 번호: 2935
  • 문제 유형: 알고리즘 - 구현
  • 풀이 언어: Java
  • 제출 시간: 2019년 5월 9일 22시 06분 23초
  • 원본 링크: https://www.acmicpc.net/problem/2935



문제

Quite often there is substantial noise in the classroom during class. Instead of paying attention to what the teacher is saying, the students rather discuss the economic crisis or Croatia’s joining the European Union.

The biggest noise often occurs when the students are idle, so teachers will give them tasks with a lot of work to calm them down. In one type of such task, the student must calculate the result of an arithmetic operation on two large numbers.

The arithmetic operations we will consider are adding and multiplication. The operands will be powers of 10 with no more than 100 digits.

Write a program that calculates the result of the operation.



입력

The first line contains a positive integer A, the first operand.

The second line either the character ‘+’ or ‘*’, representing addition or multiplication.

The third line contains a positive integer B, the second operant.

The integers A and B will be powers of 10 and consist of at most 100 digits.



출력

Output the result of the operation.



결과 - 소스코드 및 랭크






메모

이번 문제는 작년에 암호화폐 가계부 앱을 만들 때 이용했던 방법을 그대로 사용해서 쉽게 풀었다.

거의 약 2년 전에 틀렸던 문제였는데 그때는 100자리 숫자 덧셈, 곱셈에 대한 개념 자체가 크게 와닿지 않았던 터라 자료형의 크기를 고려하지도 않았고 단순히 심볼 확인만 하고 덧셈, 곱셈만 진행하면 되는 줄 알았다.

이번에 틀린 문제들을 다시 한 번 풀어보면서 이 문제에서는 어떤 방식을 적용해볼까 했는데 BigDecimal 클래스의 기능을 이용하면 큰 수도 빠르고 정확하게 더할 수 있다는 것이 기억나서 그대로 이용해보았는데 역시나 통했다!

순위도 나쁘지 않은 것 같은데 다만 C로 문제를 풀었다면 어떻게 해결해야 했을까 궁금하긴 하다.

Author

Alec J

Posted on

2019-05-09

Updated on

2021-02-09

Licensed under