num이라는 배열이 있다고 가정해 보겠습니다. 배열에 다른 모든 요소의 곱과 같은 값을 가진 요소가 포함되어 있는지 확인해야 합니다.
따라서 입력이 nums =[3,2,24,4,1]과 같으면 출력은 True, 24 =(3*2*4*1)이 됩니다.
이 문제를 해결하기 위해 다음 단계를 따릅니다. −
- 물 :=1
- 0부터 숫자 - 1까지의 범위에 있는 i에 대해
- mul :=mul * nums[i]
- 0부터 숫자 - 1까지의 범위에 있는 i에 대해
- nums[i]가 (mul / nums[i])와 같으면
- 참 반환
- nums[i]가 (mul / nums[i])와 같으면
- 거짓을 반환
이해를 돕기 위해 다음 구현을 살펴보겠습니다. −
예시 코드
def solve(nums): mul = 1 for i in range(len(nums)): mul *= nums[i] for i in range(len(nums)): if nums[i] == mul / nums[i]: return True return False nums = [3,2,24,4,1] print(solve(nums))
입력
[3,2,24,4,1]
출력
True