백준 14888 연산자 끼워넣기 JAVA

sundays·2023년 1월 29일
0

문제

연산자 끼워넣기

풀이

dfs 문제인데 연산 네개를 써서 n개의 숫자를 연산했을때 가장 큰 값과 가장 작은 값을 구하는 문제이다
이 문제에서 n개의 숫자가 전부 돌아야 해서 depth가 n개가 될때 리턴을 한다
그외의 경우에는 연산자의 개수만큼 반복하는데 이 부분을 visited 배열을 주지 않고 직접 operation 배열을 차감 하는 방식으로 접근을 제한 하면 된다. 그러고 나서 다른 연산자를 넣었을때 경우의 수도 중복으로 계산하기 위해 backtracking 후 다시 operation index에 +1 을 해주게 된다. 사실 이 부분이 제일 헷갈리는 부분인데 모든 경우의 수를 보아야 할 때는 이 작업이 필수 적이다. 그리고 만약 다시 고려해야 하지않는 경우, (조합을 신경써야 하는 경우) 에는 차감한 oprtation 값을 다시 더하지 않는다

전체 코드

전체 코드

profile
develop life

0개의 댓글