<aside>
💬 lv0
, 탐색
2차원 배열과 타겟 숫자가 주어집니다. 주어진 2차원 배열에서 타겟 숫자가 존재하는지 확인하고, 존재하는 경우 True를, 존재하지 않는 경우 False를 반환하는 코드를 작성해주세요.
입력 (2차원 배열, 타겟 숫자) | 출력 (숫자 존재 여부) |
---|---|
([[1, 3, 5], [7, 9, 11], [13, 15, 17]], 7) | True |
([[2, 4, 6], [8, 10, 12], [14, 16, 18]], 13) | False |
주어진 2차원 배열에서 타겟 숫자를 찾아, 존재하는 경우 True를, 존재하지 않는 경우 False를 반환합니다. 첫 번째 예시에서는 타겟 숫자 7이 배열에 존재하므로 True를, 두 번째 예시에서는 타겟 숫자 13이 배열에 존재하지 않으므로 False를 반환합니다.
</aside>
def solution(data):
matrix, target = data
**#1 2차원 배열 순회**
**#2 `any()` 함수 활용**
**#3 타겟 숫자 존재 여부 확인**
**#4 결과 반환**
return any(target in row for row in matrix)
2차원 배열 순회
2차원 배열의 각 행을 순회합니다. 이 과정에서 리스트 컴프리헨션을 사용하여 각 행 내의 타겟 숫자 존재 여부를 검사합니다.
any()
함수 활용
any()
함수를 사용하여 각 행의 타겟 숫자 존재 여부를 확인합니다. 리스트 컴프리헨션을 통해 생성된 각 행에 대한 조건식 결과 리스트를 any()
함수에 전달합니다. 이 함수는 전달받은 리스트 내 어느 하나라도 True가 있다면 True를, 모두 False라면 False를 반환합니다.
타겟 숫자 존재 여부 확인
리스트 컴프리헨션 내에서, 각 행을 순회하면서 타겟 숫자가 존재하는지 확인합니다. 각 행에 대해 타겟 숫자의 존재 여부를 검사하는 조건식을 포함합니다.
결과 반환
any()
함수의 결과를 바탕으로 최종 결과를 반환합니다. 타겟 숫자가 배열의 어느 행에라도 존재하면 True를, 전체 배열에 타겟 숫자가 하나도 없다면 False를 반환합니다. 이 방법은 효율적으로 2차원 배열 내 타겟 숫자의 존재 여부를 한 번의 순회로 확인할 수 있게 해 줍니다.
리스트 컴프리헨션
[표현식 for 항목 in 반복가능객체 if 조건문]
any()
함수
any(iterable)
any()
함수는 반복 가능한 객체(예: 리스트, 튜플 등)를 인자로 받아, 그 안에 True로 평가되는 요소가 하나라도 있으면 True를, 모든 요소가 False로 평가되면 False를 반환합니다. 이 함수는 조건을 만족하는 요소가 하나라도 있는지 확인할 때 유용하며, 복잡한 조건문이나 반복문 없이 간단히 여부를 확인할 수 있습니다.def solution(data):
array, target = data
**#1 배열 평탄화**
flattened_array = sum(array, [])
**#2 타겟 숫자 존재 여부 확인**
**#3 결과 반환**
return target in flattened_array