[프로그래머스][파이썬] OX퀴즈 - 사칙연산 (Level 0)

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

◽ 문제 출처

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

◽ 문제

◽ 입력 & 출력

◽ 내 풀이

def solution(quiz):
    answer = []
    
    for i in quiz:
        if eval(i.split('=')[0]) == int(i.split('=')[1]):
            answer.append('O')
        else:
            answer.append('X')
            
    return answer
  • 주어진 문자열에서 = 기호를 기준으로 나누면 0 번 인덱스에는 수식이, 1 번 인덱스에는 체크할 답이 담긴다.
  • 이를 기반으로 eval() 을 통해 계산한 값이 답과 맞는지 검사한다.

◽ 다른 사람 풀이

def solution(quiz):
    answer = []
    
    for q in quiz:
        L, R = q.split(' = ')
        a, op, b = L.split()
        
        if op == '+':
            result = 'O' if int(a) + int(b) == int(R) else 'X'
            answer.append(result)
        else:
            result = 'O' if int(a) - int(b) == int(R) else 'X'
            answer.append(result)
            
    return answer
  • 역시 eval() 은 편하더라도 보안 때문에 기피하는것 같기도 하다.

◽ 더 나아가기

  • 코딩 테스트 문제 풀이용이라서 eval() 을 사용했지만, 이럴 때에도 보안을 신경쓰도록 노력하자.



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

profile
성장하고 싶은 개발자

0개의 댓글