간단한 식 계산하기

dozzzini·2024년 7월 22일

코딩테스트

목록 보기
22/26
post-thumbnail

문제 설명
문자열 binomial이 매개변수로 주어집니다. binomial은 "a op b" 형태의 이항식이고 a와 b는 음이 아닌 정수, op는 '+', '-', '*' 중 하나입니다. 주어진 식을 계산한 정수를 return 하는 solution 함수를 작성해 주세요.

def solution(binomial):
    parts = binomial.split()
    a = int(parts[0])
    op = parts[1]
    b = int(parts[2])
    if op == "+":
        answer = a + b
    elif op == "-":
        answer = a - b
    elif op == "*":
        answer = a * b
    return answer

1) 우선 bionomial을 공백을 기준으로 나눈 후에 parts 라는 변수에 넣어준다.

parts = binomial.split()

예를 들어 bionomial이 "41 + 1" 이었을 때, parts 는 ["41", "+", "1"] 이렇게 분리되는 것이다.

2) parts의 0번째를 숫자형으로 바꾸어서 a 에 넣어준다.

    a = int(parts[0])

3) parts의 1번째를 op 변수에 넣어준다.

    op = parts[1]

즉, 부호에 해당하는 것들(+, -, *) 은 parts의 1번째가 되는 것이다.

4) parts의 2번째를 숫자형으로 바꾸어서 b 에 넣어준다.

	b= int([parts[2])

5) 마지막으로, 각각 부호에 해당할 때, 알맞는 연산을 할 수 있는 조건문을 작성한다.

if op == "+":
        answer = a + b
    elif op == "-":
        answer = a - b
    elif op == "*":
        answer = a * b

+) 추가적으로 예기치 않은 연산자가 주어졌을 때 예외처리도 가능하다.

	else:
      raise ValueError("Invalid operator")

0개의 댓글