[프로그래머스][파이썬] 문자열 계산하기 - 수학 (Level 0)

뻥튀기아이스크림·2025년 3월 20일
1
post-thumbnail

◽ 문제 출처

https://school.programmers.co.kr/learn/courses/30/lessons/120902

◽ 문제

◽ 입력 & 출력

◽ 내 풀이

def solution(my_string):
    s = my_string.split()
    answer = int(s[0])
    
    for i in range(len(s)):
        if s[i] == '+':
            answer += int(s[i + 1])
        elif s[i] == '-':
            answer -= int(s[i + 1])
            
    return answer
  • eval() 함수를 알지만, 공부하려고 다른 방식으로 풀어보았다.
  • 공백으로 나뉜 문자를 리스트에 구분해서 담고, 기호가 나오면 이후 값을 더하거나 빼주었다.

◽ 다른 사람 풀이

def solution(my_string):
    return eval(my_string)
  • 간단한걸 보통 선호하긴 하지..

◽ 더 나아가기

  • eval() 함수는 문자열로 표현된 표현식을 실행하여 결과를 반환하는 함수이다.
  • 편리하지만, 사용자가 입력한 문자열을 실행하니, 악성 코드를 실행할 수 있어 보안에 취약하다.
  • 참고) https://www.stackhawk.com/blog/command-injection-python/



피드백은 언제나 환영입니다 :)

profile
성장하고 싶은 개발자

0개의 댓글