목록14888 (2)
Be a developer
앞에 까지 재귀로 푼 문제들은 하나의 경우를 선택하느냐 선택하지 않느냐 하는 문제였다. 하지만 이번 문제는 연산자 4가지 중 하나를 넣느냐 아니면 넣지 않느냐 하는 문제이기 때문에 경우의 수를 4가지로 나누어서 풀었다. 연산자의 수가 주어진 숫자의 수 보다 1개 적어서 딱 맞기 때문에, 불가능한 경우를 따로 만들어줄 필요가 없다. 재귀의 종료 조건은 연산자의 개수를 다 사용하여 0개가 되는 것이다. minmax_element함수를 사용하는 법을 익숙하게 해야 겠다. auto 연산자를 사용하는 것을 익혀야 한다. 1234567891011121314151617181920212223242526272829303132333435363738#include #include #include using namespace..
주어지는 숫자의 순서가 바뀌지 않기 때문에 연산자만 순열을 통해 풀면된다. 수의 개수가 최대 11개이므로 연산자의 개수는 최대 10개가 되어 순열로 풀 수 있는 문제이다. 브루트포스로 모든 경우의 수를 만들어 보면서 최댓값과 최솟값을 구한다. algorithm 헤더의 minmax_element함수를 이용한다. 자세한 설명은 코드의 주석으로.. 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950#include #include #include using namespace std; int main(int argc, char** argv) { int n; cin >> n; vector v(n); ve..