티스토리 뷰
1. 문제
2. 문제 설명
배열에 담긴 숫자들을 가지고 + 혹은 -를 해서 target에 맞는 숫자를 만드는 경우를 반환한다.
3. 풀이
재귀함수를 이용한 DFS로 풀었는데 이 경우에는 BFS도 사용 가능하다고 본다.
DFS함수를 만들어 처음시작할 인덱스와 숫자들을 가지고 있는 numbers와 target을 파라미터로 넘겨준다.
그리고 그것을 계산할 함수인 cal을 리턴값으로 주고 0부터 시작해 numbers에 있는 값들을 더하거나 뺀 경우의 수를 모두 더해본다.
그럼 빼거나 더하는 경우의 수가 다 이루어지게 되고
index와 numbers의 길이가 같게 되면 target과 비교하여 되는 경우의 수를 리턴값으로 보내준다.
하면서 return값을 함수로 주었을 때 파라미터의 초기값을 어떻게 줄지 난감했는데 가장 아래에 정해줄 수 있다는 것을 알게 되었다.
그리고 return값이 계속 반복되면 return값이 더해져 마지막 return값으로 보내진다는 것도 알게 되었다.
programmers.co.kr/learn/courses/30/lessons/43165
코딩테스트 연습 - 타겟 넘버
n개의 음이 아닌 정수가 있습니다. 이 수를 적절히 더하거나 빼서 타겟 넘버를 만들려고 합니다. 예를 들어 [1, 1, 1, 1, 1]로 숫자 3을 만들려면 다음 다섯 방법을 쓸 수 있습니다. -1+1+1+1+1 = 3 +1-1+1+1+
programmers.co.kr
반응형
'알고리즘 > level2' 카테고리의 다른 글
프로그래머스[javascript] 멀쩡한 사각형 (0) | 2021.02.06 |
---|---|
[javascript] 스킬트리-프로그래머스 (0) | 2021.01.17 |
[javascript] 기능개발 (0) | 2021.01.15 |
위장 (0) | 2020.12.23 |
Comments
최근에 올라온 글
최근에 달린 댓글
TAG
- tolowercase
- AWS
- 백준
- Split
- 백준 7562 node
- SQL
- 토마토3차원
- 코딩테스트
- 회원가입
- Level 1
- JavaScript
- 바이러스 dfs
- 프로그래머스
- 코드테스트
- nodemailer error
- 백준 7569 node
- Express
- 카카오2018[1차]
- GROUP BY
- left join
- 534 error
- JOIN
- slice
- nodejs
- 정규표현식
- 숫자야구게임
- sort
- 로그인
- smtp error
- Replace
- Total
- Today
- Yesterday