코딩테스트 연습
백준 14888 - 연산자 끼워넣기
gurwhddl
2023. 3. 15. 00:15
사실 dfs 이용해서 예외케이스 찾는게 제일 중요한 문제지만 재귀함수 공부한지 얼마 안됐기 때문에 재귀함수 포커스로만 코드 짜봄
numbers = [1,2,3,4,5]
operators = [4,0,0,0] //편의로 +만 4개 있다고 가정
앞에서부터 하나씩 계산해야 되기 때문에 뭔가 지금 값을 계산해서 다음 재귀함수 인자로 넘겨주면 됨
코드로 본다면
dfs(현재위치,현재위치까지 계산한 값){
dfs(현재위치+1,현재까지 계산한 값 + numbers[현재위치+1]}
이렇게 하면
dfs(0,numbers[0]) -> dfs(1,1+2) -> dfs(2,1+2+3) -> dfs(3,1+2+3+4) -> dfs(4,1+2+3+4+5) return
*개인적인 생각
재귀함수에서는 너무 함수의 계산에 집착하지 말고
인자로 뭘 넘겨줄지를 생각하기
또 너무 코드 하나하나 절차적으로 생각하지 말기
//이미 다 생각해놓고 dfs(0)일때 계산 틀리지 않나? 생각해서 10분걸릴거 1시간 걸림ㅠㅠㅠ