python all() 구현하기

김병훈·2021년 1월 21일
0

algorithm

목록 보기
1/1

all()

| all(x)는 반복 가능한(literable) 자료형 x를 입력 인수로 받으며, 이 x의 요소가 모두 참이면 True, 거짓이 하나라도 있으면 False를 돌려준다.
점프투파이썬 참고 (링크)

내 풀이

# 풀이 1 (내 풀이)
def my_all(elements):
    # 빈 elements가 들어오는 경우, for문을 통해 순환하지 않기 때문에
    # 기본값을 True로 설정
    result = True
    for element in elements:
      # Falsy값을 만났을 때, result의 값을 False로 변환하고, for문을 종료한다.
      if bool(element) == False:
        result = False
        break
    return result
# 풀이 1-1 (for문 안에 있는 조건문 간소화)
def my_all(elements):
    result = True
    for element in elements:
      # not 연산자를 통해 형변환이 이루어짐
      if not element: # bool(element) == False
        result = False
        break
    return result

다른 풀이 참고

# 풀이 2 (True, False가 대응되는 숫자를 이용한 방법)
# True == 1 / False == 0
def my_all(elements):
    result = 1
    for element in elements:
        result *= bool(element)
    if result == 1:
        return True
    else:
        return False
# 풀이 2-1 (리턴 조건식 간소화)
def my_all(elements):
    result = 1
    for element in elements:
        result *= bool(element)
    return bool(result) # 1이라면, True / 0이라면, False를 반환할 것

True를 1로, False를 0으로 생각해볼 수 있겠다는 얻을 수 있었습니다.

0개의 댓글