최대 1 분 소요

1. 문제

[Bronze II] 화성 수학 - 5355

문제 링크

성능 요약

메모리: 30840 KB, 시간: 72 ms

분류

사칙연산(arithmetic), 구현(implementation), 수학(math)

문제 설명

겨울 방학에 달에 다녀온 상근이는 여름 방학 때는 화성에 갔다 올 예정이다. (3996번) 화성에서는 지구와는 조금 다른 연산자 @, %, #을 사용한다. @는 3을 곱하고, %는 5를 더하며, #는 7을 빼는 연산자이다. 따라서, 화성에서는 수학 식의 가장 앞에 수가 하나 있고, 그 다음에는 연산자가 있다.

입력

첫째 줄에 테스트 케이스의 개수 T가 주어진다. 다음 줄에는 화성 수학식이 한 줄에 하나씩 주어진다. 입력으로 주어지는 수는 정수이거나 소수 첫째 자리까지 주어지며, 0 이상 100 이하이다. 연산자는 최대 3개 주어진다.

출력

각 테스트 케이스에 대해서, 화성 수학식의 결과를 계산한 다음에, 소수점 둘째 자리까지 출력한다.

출처: 백준, https://https://www.acmicpc.net/

2. 해결방법 시간복잡도

  1. 단순 코딩 O(N^2)

3. 문제 해결 및 코드


  • 주석을 참고하면서 이해를 돕습니다.

4. 알고리즘 및 해설

  1. 이중 반복문을 통해 해당 값을 받는다.
    • 이후 받은 값중 첫번째 값을 float형태로 바꾼뒤 다음 값부터 반복문을 돌려준다.
      • 해당 반복문에서 위치값이 @라면 결과값에 3을 곱해준다.
      • 해당 반복문에서 위치값이 %라면 결과값에 5를 더해준다.
      • 해당 반복문에서 위치값이 #라면 결과값에 7을 빼준다.
    • 반복문이 끝날때마다 결과값을 소수점 둘째 짜리까지 출력해준다.