돌무더기의 갯수 3개를 입력 받고, 한번에 두 무더기의 돌을 하나씩 제거할때 1점을 얻는 구조로 얻을 수 있는 최대값을 구하는 문제이다. 각 단계마다 순차적으로 값을 차감하면서 최대값을 구하는 방법 도 있겠지만 가질수 있는 경우의 수를 생각 해보니 입력되는 값을 바탕으로 결과값을 수식적으로 구할수 있겠다는 생각이 들었다.
풀이 방법은 다음과 같은데, 입력 받는 3개의 수중 가장 큰수(m)와 나머지수의 합(x+y)을 비교하면 다음과 같이 3가지 경우가 나오게 된다.
m > x+y
이 경우 얻을 수 있는 최대 값을 x+y 의 값과 일치한다.
m = x+y
이 경우는 딱일치하는 경우로 m의 값과 일치하게 된다.
m < x+y
이 경우는 중간에 다른 무더기의 돌을 제하여 최대값을 가능한한 사용해야 하므로 최대값이 m 에 추가하여 두수의 합과의 차이를 반분한 값을 더합값이 만들수있는 최대 값이 된다.
위 방식을 바탕으로 입력된 값을 바로 결과값으로 계산하여 돌려주었고, 주어진 예문들을 잘 풀이하는 결과를 보여주었다.
수면패턴이 살짝 어그려졌다. 규칙적인 수면패턴을 가지도록 노력해야겠다.