boj 15658

Posted by yunki kim on February 13, 2021

연산자를 넣을 수 있는 모든 경우의 수에 대해 계산을 해보면 된다. 이때 하나의 케이스가 완성되었을때 반복문을 돌면서 값을 구해야 된다. 그러므로 맨 처음 수열을 넣는 배열에 홀수번째 인덱스에 수열의 원소를 저장하고 연산자를 넣는 배열에는 짝수번째 인덱스에만 연산자를 넣으면 된다. 예를 들어 5 + 6이라는 식이 있고 수열을 a라는 배열에, 연산자를 b라는 배열에 저장하면 a[1] = 5, a[3] = 6, b[2] = +가 된다.

이러게 저장하면 수열을 저장하는 배열의 최댓값은 수열의 갯수가 n일때 2*n-1이 되므로 반복문을 순회하면 한 케이스에 대한 값을 구할때 2*n-1보다 적은 양수만 탐색하면 된다.

github.com/skullkim/algorithm/blob/master/boj/brute_force/15658_re.cpp

 

skullkim/algorithm

Contribute to skullkim/algorithm development by creating an account on GitHub.

github.com