[삼성 기출 문제] 백준 14888 연산자 끼워넣기
문제 링크 클릭시 문제로 이동합니다. 어떻게 풀까? 다행히도 연산자의 우선 순위가 모두 같기 때문에, 앞에서부터 차례차례로 처리하면 됩니다! 그리고, 더하기, 빼기, 곱하기, 나누기 연산의 개수가 나옵니다.그렇다는 것은, 현재 계산된 수에서 다음 수를 더하기, 빼기, 곱하기, 나누기 중 하나를 선택하고, 다음 수와 계산한 뒤에, 이렇게 계산된 수와 최댓값, 최솟값을 비교해서 계속 갱신해줍시다. 이렇게 모든 경우의 수를 다 구해서 저장된 최댓값과 최솟값을 출력하면 문제의 답을 출력할 수 있습니다! 3 3 4 5 1 0 1 0 위 예제를 통해서 한번 살펴봅시다. 처음에 더하기의 개수가 존재하기 때문에, 더하기의 개수를 하나 깎은 후에 3과 4를 더합니다. 다음에 더하기와 빼기의 개수가 0개이므로, 이 부분들..
[BOJ] 1405. 미친로봇
미친 로봇 성공스페셜 저지클릭시 이동합니다.어떻게 풀까? 중요한 것은 이전에 왔던 경로에 도착하지 않는 경우의 확률만 구해야 한다는 것입니다.즉, DFS를 통해서, N번을 이동하면서, 자신의 위치를 visit처리 해준 다음에, visit처리 되지 않은 방향으로만 이동합니다!그리고, 각 방향으로의 확률이 있기 때문에, 자신이 현재 도착한 위치의 확률 * 다음으로 이동할 확률을 계속 곱해가면서, 자신의 현재 위치에 대한 확률을 계속 가지고 있습니다! 그리고, N번의 이동을 완료했으면, 결과 확률에 그 확률을 더해주고, 이전 상황으로 돌아가서, 다른 방향을 탐색합니다! 그림으로 예를 들어 드리겠습니다! 처음엔 이 장소에서 시작합니다! 오른쪽으로 이동할 수 있습니다!예제에서는 오른쪽 확률이 0.25이기 때문에,..