어그로 죄송합니다 형님들 제발 살려주십쇼 ㅠㅠㅠㅠㅠ
https://programmers.co.kr/learn/courses/30/lessons/43165
프로그래머스 "타겟넘버" 문제고요.
http://colorscripter.com/s/LDENEa7
이건 제가 짠 코드입니다.
테스트 케이스 numbers : {1, 1}, target : 0일때 answer가 되는 경우는 +1-1, -1+1 이렇게 두가지 경우겠죠
근데 저는 4개가 나옵니다.
그래서 디버깅을 해봤는데요. 코드가 왜 그렇게 돌아가는지 이해를 못 하겠습니다.
제가 생각한 코드의 흐름은 저 콘솔창의 -1-1, dept : 2에서 모든 반복이 종료되어야 하는데.... 왜 반복을 한 번 더 수행하면서 +1, dept : 1로 넘어가는지를 모르겠어요 ㅠㅠㅠ...
제발 살려주십쇼...ㅜㅜㅜ
과제충 해결완료!
프로그래머스 잖아 ㅇㅅㅇ 엄밀한 의미에서 과제충은 아님 ㅇㅅㅇ;;
프로그래머스 문제를 과제로 내는 학교도 있음?;; 그리고 과제였으면 걍 구글링해서 블로그에서 코드 따갔지;;
응 꺼져
잉 ㅠㅠ
학생 이런건 PS마이너갤러리로 가서 물어봐^^
그런데도있어?? 몰랐음 ㅠ
for(int i = dept; i < numbers.length; i++) { DFS(dept + 1, numbers, target, calc + numbers[i], str + "+" + numbers[i]); DFS(dept + 1, numbers, target, calc - numbers[i], str + "-" + numbers[i]); }
에서 포문 지우고 DFS(dept + 1, numbers, target, calc + numbers[i], str + "+" + numbers[i]); DFS(dept + 1, numbers, target, calc - numbers[i], str + "-" + numbers[i]);
이거만 써라 ㅇㅅㅇ
해결했다고 댓글 달려고 들어오자마자 알려주시넹. 감사해요 ㄷㄷ 반복을 없애니까 잘 되네요.고맙습니다
그 전에 비슷한 DFS문제를 하나 풀었는데 거기서는 반복을 사용해서;; 저도 모르게 반복을 넣어버린듯 ㅠ