プログラマ:ターゲット番号
3075 ワード
私の草
function solution(numbers, target) {
let answer = 0;
dfs(0,0)
function dfs(depth, sum){
if(depth === numbers.length){
if(sum === target){
answer++
}
return
}
// 동시 다발적으로 수행
dfs(depth + 1, sum + numbers[depth])
dfs(depth + 1, sum - numbers[depth])
}
return answer;
}
これは初めて接触した再帰関数で,2つの理解が困難である.これまでは,一方向コードのみを記述し,同時に多発コードに触れることで,コンピュータの偉大さを認識してきた.
dfs(0,0)
を信号弾とし、深さが5に達したとき、目標値と同じであれば++と答え、異なる場合はその場で関数を終了する.Reference
この問題について(プログラマ:ターゲット番号), 我々は、より多くの情報をここで見つけました https://velog.io/@make_w/프로그래머스-타겟-넘버テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol