tonyoon   6년 전

대부분 다른분들이 푼 방식과 다르게 마지막 두 잔에 대한 최대값을 구해나가며 답을 찾았습니다.

O가 마시는 경우 X가 안마시는 경우입니다.

두잔을 연달아 마시는 경우 즉OO인 경우 앞에 나올 수 있는 경우는 OX와 XO입니다.

OX로 마시는 경우 이전에 나올 수 있는 경우는 OX, XO, XX입니다.

XO로 마시는 경우 이전에 나올 수 있는 경우는 OO, OX, XO, XX입니다.

XX로 마시는 경우 이전에 나올 수 있는 경우는 OO, OX, XO, XX입니다.


예를들어 OO의 경우 앞에 올 수 있는 경우가 OX와 XX이므로 둘 중 더 큰것을 OO에 합하여 계산합니다.

OX의 경우 앞에 올 수 있는 경우가 OX, XO, XX이므로 이중 최대값을 OX에 합하여 계산합니다.

이런식으로 OO, OX, XO, XX가 나오는 경우의 각각의 최대값들을 구하며 가장 큰 값을 찾아 나갔는데 33%에서 틀렸다고 나옵니다. 

다른 분들의 질문과 답변에서 반례도 찾아봤는데 전부 맞게 나오네요.

반례나 어디가 잘못됐는지 알려주세요.

감사합니다.

3587jjh   6년 전

반례는 못찾았지만 20번째 줄의 for문을 돌때마다 최대값을 갱신해주니 맞네요

tonyoon   6년 전

감사합니다 왜 그런지는 이해가 안되는데 말씀하신대로 하니 됩니다!

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