algorithm/프로그래머스 문제
[LV2]타겟 넘버
장경훈
2022. 7. 11. 16:10
![]() |
[LV2]타겟 넘버 문제 링크 n개의 음이 아닌 정수들이 있습니다. 이 정수들을 순서를 바꾸지 않고 적절히 더하거나 빼서 타겟 넘버를 만들려고 합니다. www.programmers.co.kr |


문제해설
이 문제는 기본적으로 숫자의 개수가 2~20개이기 때문에 모든 경우를 탐색해도 시간초과가 일어나지 않는다. 그렇기 때문에 앞에서부터 연산한 숫자들을 모두 리스트에 넣은 후 COUNT함수를 사용하여 target과 동일한 숫자가 몇개인지 찾으면 되는 문제이다.
def solution(numbers, target):
start=[0] #초기값
for i in numbers: #앞에서부터 연산
num=[]
for j in start: #앞서 연산되어있던 숫자들에 각각 +,-연산을 실행하여 다시 리스트에 저장
num.append(j+i)
num.append(j-i)
start=num
return start.count(target) #타겟과 같은 숫자의 수 반환
