본문 바로가기

인공지능/알고리즘

[알고리즘] OX 퀴즈 리스트 내포 if else 반복문 eval 함수 프로그래머스

앞선 과정으로 이제 리스트 내포를 활용한 함수 생성에 익숙해지기 시작했다.

그리고 알지 못했던 eval 함수의 존재..

eval 함수는 코딩 테스트 시에는 사용하면 좋지만 실제 개발시에 굉장히 조심해서 사용해야 한다는 점.

기억해야 할 것이다.

 

그러나 코딩 테스트 때에 아래와 같은 O, X 문제 풀때 eval 함수를 사용하지 않는다면 하나 하나씩 split 해주고 분리해주어야 하기 때문에 잘 활용하는 것이 좋다. 

 

그리고 리스트 내포. 정말 간결하게 짤수 있어서 좋다. 

def solution(quiz):
    result = ["O"if eval(i.split("=")[0]) == eval(i.split("=")[1]) else "X" for i in quiz ]
    return result

 

위의 코딩에서는 이전의 문제에서는 if 조건문 하나만 사용했었지만 위의 문제에서는

if ~ else를 사용하여 결과를 도출할 때가 필요하다. 

 

그럴때 리스트 내포 순서는

if 의 결과 - if 조건문 - else - else의 결과 - 반복문 

순서로 만들어준다. 

 

그렇게 될 경우에 대한 결과가 리스트 안에서 저장이 된다. 

꼭 잘 기억하도록!