문제 파악 음이 아닌 n개의 정수들을 순서를 바꾸지 않고 더하거나 빼서 타겟 넘버를 만든다. 유형 파악 우선 문제에서 주어진 입출력 예를 보고 직접 하나하나 구해보자. numbers를 통해 주어진 수들이 순서대로 더해지거나 빼지는 것이므로 아래 그림과 같이 모든 경우를 직접 구해본다. 첫 번째 입출력 예 numbers에 주어진 수 5가지를 순서대로 더하거나 빼준다. 마지막에 target 값인 3이 나오는 경우가 총 5가지인 것을 확인할 수 있다. 두번째 입출력 예 numbers에 주어진 수 4가지를 순서대로 더하거나 빼준다. 마지막에 target 값인 4가 나오는 경우가 2가지인 것을 확인할 수 있다. 🤨 두 가지의 입출력 예에 대해 직접 그려본 결과 연산한 결과에 대해 계속해서 + 또는 - 연산을 반복..
알고리즘 그래프 이론 그래프 탐색 너비 우선 탐색 깊이 우선 탐색 DFS: 시간 초과 DFS를 이용하여 최단거리를 찾고자 하는 경우 완전 탐색 후 가장 작은 값을 선택하여야 하므로 경로가 많아질 수 있고 이렇게 되면 시간 복잡도가 커진다. #include #include #include using namespace std; int map[101][101], ch[101][101], n, m; int dx[4]={1, 0, -1, 0}; int dy[4]={0, 1, 0, -1}; int cnt=1, minn=2147000000; void DFS(int x, int y){ int xx, yy, i; if(x==n && y == m){ if(cnt