반응형
https://programmers.co.kr/learn/courses/30/lessons/43165
깊이우선탐색(DFS), 너비우선탐색(BFS)을 이용하여 주로 푼다고 한다.
프로그래머스 문제 분류 또한 위의 두가지로 분류되어있다.
나는 BFS를 이용하여 풀었다.
DFS로 푼다면 재귀함수처럼 타고타고 들어가는 방식으로 풀게 될것이다.
코드는 매우 간단하다.
numbers에 담겨있는 숫자들을 for문으로 하나씩 꺼내서
꺼낼때마다 더하기,빼기를 해준다.
그 후에 count함수를 이용하여 target이 몇개있는지 확인한다. 끝!
def solution(numbers, target):
sub = [0]
for num in numbers:
imsi = []
for i in sub:
imsi.append(i + num)
imsi.append(i - num)
sub = imsi
return sub.count(target)
print(solution([1, 1, 1, 1, 1], 3))
반응형
'알고리즘' 카테고리의 다른 글
[Javascript] 큰 수 만들기 - level 2 (0) | 2021.06.08 |
---|---|
[Python] 순위 검색 - level 2 (효율성 통과 못함) (0) | 2021.06.08 |
[Python] 카펫 - level 2 (0) | 2021.06.07 |
[Javascript] 시저 암호 - level 1 (0) | 2021.05.18 |
[Javascript] 폰켓몬 - level 1 (0) | 2021.05.14 |