taewony   7년 전

안녕하세요?

GO 언어로 문제풀이를 해 보고 있는데, 졸지에 1036번에 막혀 진도가 나가지 못하고 있네요.

(문제 번호가 작다고 우습게 볼게 아니군요,

그리고 역시 언어가 좋고 나쁘고가 문제가 아니라, 문제 풀이 자체가 어렵네요.)

3일째 같은 문제 놓고 낑낑거리고 있습니다. 힌트 좀 부탁할 수 있을까요?


-- 혼자 생각해 보는 test 방법 ---

- 36진수 덧셈이 맞게 되었는지 확인해 보기 위해 합에서 다시 빼서 zero가 나오는 지 확인해 본다.

- 모두 동일한 수들이 주어진 경우, 앞에서부터 k개까지 Z로 바꾸고 더한 경우와

같아야 한다.


bupjae   7년 전

다음과 같이 데이터가 주어졌을 때

W를 Z로 바꾸는 것이 최적해 (44063 + 1295 * 49 = 107518 => 2AYW)이지만

작성하신 프로그램은 X를 Z로 바꾸고 있습니다 (46544 + 1184 * 49 = 104560합 => 28OG)

taewony   7년 전

@bupjae 님 힌트에 힘입어 해결 했습니다. 감사해요 ㅠㅜ

최선의 k개의 숫자를 고를 때, 단지 자리값만 보고 고르지 않고, Z로 바꾸었을 때 전체적인 차이가 최대가 되도록 logic을 수정했습니다.

역시 풀고 나니 개운하네요 크하하^^ 다음 문제는 좀 쉽기를 ㅎㅎㅎ

nlkey2022   6년 전

@bupjae 님 위 예제 결과는 2AYM 아닌가요?..  (35 * 50 )%36는 22라 M가 맞지 않나요?..

bupjae   6년 전

@nlkey2022 :: 2AYM 이 맞네요. 지적 감사합니다.

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