lian   1년 전

... 좀 다른 방식으로 몇번 제출했는데,

다 틀렸다고만 해서.. 사실 어떻게 접근해야할지 잘 모르겠습니다.


수학적으로 푸시는분들도 있는거 같고, 아니면 일일이 전부 계산해서 max값 출력하게 하시는 분도 있을 듯 한데..

알고리즘 힌트좀 주세요 ㅠ

yukariko   1년 전

저는 재귀로 전부 계산해서 풀었습니다

baekjoon   1년 전

일일이 전부 계산해도 맞을 수 있습니다.

baekjoon   1년 전

음 근데 이 문제 모든 경우 안하고 푸는 방법 있나요?

lian   1년 전

아.. 모든 경우 안하고 푸는걸 시도했는데, 틀렸다고 하는거 보니.. 일단 제 방법이 틀렸나봐요 ㅠ

다시 코딩해보겠습니다. ㅎ

joonas   1년 전

N이 최대 8까지밖에 안되서 8^8 = 16777216 이라 그냥 재귀 돌렸습니다.

baekjoon   1년 전

8! = 40320 아닌가요?

joonas   1년 전

수 하나를 고르면 다음에 올 수가 N-1개인데 이걸 확인하려면 어차피 N번 반복하길래요. 그게 매 수마다 반복되니 8^8로 계산했어요

baekjoon   1년 전

ㅋㅋㅋㅋ 좋네요

jsyoo5b   3주 전

이 문제, Greedy로 푼 것 같은데... (풀긴 했는데 이걸  Greedy라고 하는게 맞는지 모르겠어서...)


차이를 최대로 해야 하니깐, 정렬해서 양 끝의 최소, 최대값부터 하나씩 선택해가며

문제에서 말하는 배열의 순서를 가운데부터 채우는 식으로 했습니다.

... , max, min, ...

... , min2, max, min, max2, ... (min2, max2는 두번째로 작은/큰 수)

... , max3, min2, max, min, max2, min3, ... (min3, max3는 세번째로 작은/큰 수)

N의 갯수가 홀수인 경우에는 왼쪽이나 오른쪽 중에 어느쪽 차이가 가장 큰지 확인하여 계산

이런 식으로 접근해봤는데, 일단은 문제가 없는 것 같아서 글 남겨봅니다.

댓글을 작성하려면 로그인해야 합니다.