프로그래머스 lv0 OX퀴즈 파이썬
덧셈, 뺄셈 수식들이 'X[연산자]Y = Z'형태로 들어있는 문자열 배열
quiz가 매개변수로 주어집니다. 수식이 옳다면 'O'를 틀린다면 'X'를 순서대로
담은 배열을 return 하도록 solution 함수를 완성해주세요.
휴... 정답률이 60프로길래 긴장 했는데 괜찮았다.
개인적으로 lv0 레전드는 옹알이 문제를 못이기는 것 같다...
def solution(quiz):
answer = []
for i in range(len(quiz)):
a, b, c, d, e = quiz[i].split()
a, c, e = int(a), int(c), int(e)
if b == "-":
answer.append("O") if a - c == e else answer.append("X")
elif b == "+":
answer.append("O") if a + c == e else answer.append("X")
return answer
나는 quiz의 길이
만큼 for문을 돌리는 형태로,
quiz[i]
번째에 있는 걸 나눠서 언패킹
해줬다.
a, b, c, d, e를 split() 후 출력했을때의 모습이다.
연산자는 int형으로 바꾸지 못하기
때문에 a,c,e만 int
로 바꾸고,
if 문
으로 연산자만 확인후 맞으면 O, 틀리면 X 를 출력하게 했다.
이게 eval 이라는 내장함수를 쓰면 더 간단해진다고 하는데,
보안에 취약한지 개발자들도 사용을 하지 않는 편이라 설명은 생략 하는걸로...