Algorithm Find maximum value with given formula
알고리듬 Find maximum value with given formula를 알아보겠습니다.
배열 arr[]이 주어지고 배열의 index i, j 가 있을 때, 다음 주어진 공식을 사용해서 최대가 되는 값을 구해봅시다.
i에 있는 값과 j에 있는 값을 뺀 절댓값과 i - 2의 절댓값을 더한 값이 최대가
되어야 합니다.
이렇게 수식이 주어진 문제는 수식을 간단하게 만드는 것으로 쉽게 해결 수
있습니다.
절댓값을 풀어줍시다.
이런 경우의 수로 4 가지 경우가 나옵니다.
i와 arr[i]는 같이 변화하기 때문에 i끼리 묶어줍니다.
두 수의 뺄셈 관계는 반비례 관계라서 가장 큰 값이 나오려면 a가 가장 크고, b가
가장 작아야 합니다.
이것을 코드에 잘 녹여주면 됩니다.
lagrest에는 작은 값으로, smallest에는 큰 값으로 초기화합니다.
largest, smallest 세트마다 하나의 경우의 수를 대입하여 실행하고 마지막에
가장 큰 값을 반환하면 됩니다.
위의 경우, 12와 -8을 선택한 게 커 보이지만
12 - (-8) + 3 - 2 = 21
-8과 9를 선택한 게 더 큽니다.
9 - (-8) + 8 - 2 = 23
끝.
카테고리: Algorithm
댓글
댓글 쓰기
궁금한 점은 댓글 달아주세요.
Comment if you have any questions.