백준(Python) 풀이/수학

백준(Python) 5355번 화성 수학 풀이

개발윗미 2021. 10. 30. 11:39

Python으로 구현한 5355번 화성 수학 문제 풀이입니다.

 

https://www.acmicpc.net/problem/5355

 

5355번: 화성 수학

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

www.acmicpc.net


tc = int(input())

for _ in range(tc) :
  data = list(map(str, input().split()))
  result = float(data[0])
  for i in range(1, len(data)) :
    if data[i] == '@' :
      if data[0] == 0 :
        result += 1
      result *= 3
    elif data[i] == '%' :
      result += 5
    else :
      result -= 7

  print(format(result, ".2f"))

 

화성 수학식을 리스트 형태로 입력받고 첫번째 값은 실수형으로 변환하여 result에 먼저 할당한다.

 

반복문을 통해 두번째 값부터 확인하는데, 그 값이 '@'라면 result에 3을 곱한다. 만약 result값이 0인 상태에서 곱하면

 

결과값이 0이 되기 때문에 이 경우에는 result 값을 1 증가시킨 후 곱셈 연산을 진행한다.

 

현재 확인하는 값이 '%'라면 result에 5를 더하고, '#'이라면 7을 뺀다.

 

최종적으로 계산을 완료한 화성 수학식의 결과를 소수점 둘째 자리까지 출력한다.