문제
겨울 방학에 달에 다녀온 상근이는 여름 방학 때는 화성에 갔다 올 예정이다. (3996번) 화성에서는 지구와는 조금 다른 연산자 @, %, #을 사용한다. @는 3을 곱하고, %는 5를 더하며, #는 7을 빼는 연산자이다. 따라서, 화성에서는 수학 식의 가장 앞에 수가 하나 있고, 그 다음에는 연산자가 있다.
입력
첫째 줄에 테스트 케이스의 개수 T가 주어진다. 다음 줄에는 화성 수학식이 한 줄에 하나씩 주어진다. 입력으로 주어지는 수는 정수이거나 소수 첫째 자리까지 주어지며, 0 이상 100 이하이다. 연산자는 최대 3개 주어진다.
출력
각 테스트 케이스에 대해서, 화성 수학식의 결과를 계산한 다음에, 소수점 둘째 자리까지 출력한다.
코드
T = int(input())
for i in range(T) :
case = list(map(str,input().split()))
res = float(case[0])
for y in range(len(case)) :
if case[y] == '@' :
res *= 3
elif case[y] == '%' :
res += 5
elif case[y] == '#' :
res -= 7
print("%0.2f" % res)
- 케이스 데이터는 여러 개이므로 list형태로 받기
- 특수문자인 값을 받기 위해 string형태로 잘라서 받음
- 첫 글자는 반드시 숫자이기 때문에 처음부터 float형태로 바꿨다
case[0] 이게 괜찮은 방법인지 모르겠으나.. - 각 특수문자마다 조건을 걸어서 res에서 값을 계산
- 소수저머 두자리 형태로 바꿔서 출력
출처
반응형
'Algorithm > Python' 카테고리의 다른 글
[백준알고리즘] 9498번 시험 성적 (Python) (0) | 2021.07.07 |
---|---|
[백준알고리즘] 2935번 소음 (Python) (0) | 2021.07.07 |
[백준알고리즘] 2914번 저작권 (Python) (0) | 2021.07.04 |
[프로그래머스] 2525번 인공지능 시계 (Python) (0) | 2021.07.03 |
[백준알고리즘] 2525번 오븐 시계 (Python) (0) | 2021.07.02 |