본문 바로가기
공부/프로그래머스

[프로그래머스] 43165번

by _음주토끼_ 2022. 6. 15.

Level 2짜리라고 하는데 어떤 방식으로 짜야할지 감이 안와서 3처럼 느껴졌다. 흐잉 ㅠ

어디서 본 건 있어서 우선 dfs 함수를 따로 선언했다.

받는 값은 배열값, 타겟숫자, 인덱스(for 문의 i와 같은 역할), total(타겟과 비교할 dfs 결과값)을 파라미터로 받는다.

idx와 total 값은 0으로부터 시작!

만약 배열 내의 모든 원소를 다 순회해서 idx가 len(numbers)인 경우면 재귀를 멈춘다. 안 그러면 에러!

타겟값과 같으면 경우의 수(answer += 1)가 되는 것이고, 아님말고이다.

그리고 순회가 다 끝났으니 return 해서 함수를 종료해주면 된다.

근데 사실 solution에서 return answer 할 것 없이 그냥 dfs 내부에서 return answer하면 안되나..?

그래서 해봤더니 answer을 global로 뒀기 때문에 dfs 결과값이 null로 나타나버렸다.

얌전히 도로 solution 내에서 global answer, return answer를 해줬다.

코드 제출 후 머릿속으로 정리하면서 끄적인 메모도 같이 올린다.

 

'공부 > 프로그래머스' 카테고리의 다른 글

[프로그래머스] 42746번  (0) 2022.06.15
[프로그래머스] 42748번  (0) 2022.06.15
[프로그래머스] 67256번  (0) 2022.06.15
[프로그래머스] 12973번  (0) 2022.06.15
[프로그래머스] 42883번  (0) 2022.06.15