[백준/Python] 5355 - 화성 수학

orangesnail·2025년 2월 27일

백준

목록 보기
42/169

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


정답 코드

처음 짠 코드

t = int(input())

for _ in range(t):
    x = list(input().split())	# 인덱스 이용해 접근해야 되니까 리스트로 입력받기

    num = float(x[0])			# 계산에 필요한 첫번째 요소만 float로 변환

    for a in range(1, len(x)):	# 나머지 요소들에 대해 경우 나눠서 계산 실행
        if x[a] == '@':	
            num *= 3
        elif x[a] == '%':
            num += 5
        elif x[a] == '#':
            num -= 7

    print(f"{num:.2f}")

개선된 코드

t = int(input())

for _ in range(t):
    x = input().split()		# input().split()는 리스트를 반환함. 굳이 리스트로 변환 x

    num = float(x[0])

    for a in x[1:]:			# 리스트 인덱싱 이용해서 더 간단하게
        if a == '@':
            num *= 3
        elif a == '%':
            num += 5
        elif a == '#':
            num -= 7

    print(f"{num:0.2f}")
profile
초보입니다. 피드백 환영합니다 😗

0개의 댓글