sdsdsf   4년 전

정말.. 미스테리하네요.. 맞으신 분들 진심으로 리스펙합니다...

파이썬으로 짧은 코드로 푸신 분도 계시던데...존경스럽습니다..

제가 생각한 알고리즘은

1. 한 자리 수 씩 삭제해 나간다고 가정하고

2. 입력한 수의 가장 높은 자리 부터 삭제할 한 자리수를 탐색하여 바로 뒤에 있는 수와 비교하여

3. 뒤의 수가 더 크다면 바로 지우고

4. 만약 뒤의 수와 같거나 작다면 뒤에 삭제할 한 자리수가 더 있는지 확인하고

 4-1. 없다면 즉, 같은 수가 연속으로 있으면 하나 삭제하거나

 4-2. 있다면, 연속으로 있는 삭제할 한 자리수의 마지막 바로 뒤와 비교하여 크면 삭제하고 작으면 아예 마지막에 있는 한 자리수를 삭제

인데... 생각할 수 있는 모든 경우를 써봐도 왜 틀렸는지가 나오는지 이해가 안되네요...


doju   4년 전

반례 드립니다.

sdsdsf   4년 전

답글 달아주셔서 감사합니다 !!

아..!! 그러니까 그거 였군요..

여태까지 전 한 자리수 씩 삭제할 때마다

가장 큰 놈들만을 고르다 보면 최종적으로 최대값이 나온다고 생각했었는데

그게 아니었네요...

감탄하고 갑니다. DOJU님 ㄷㄷㄷ

sdsdsf   4년 전

근데 DOJU님 궁금한게...

반례 어떻게 생각하셨어요....?ㄷㄷㄷ

doju   4년 전

그냥 랜덤 데이터를 많이 만들어서 제 코드와 동시에 돌리고 답을 비교합니다 :P

sait2000   4년 전

와 리스펙받았다 감사합니다. 답례라고 하긴 조금 그렇지만 (랜덤으로 만들었다는 건 비밀이어요) 테스트케이스를 들고왔어요 testcases.zip

한번 돌려봤는데 001, 002, 009, 011, 015, 017, 020, 023, 025, 027, 030, 032, 033, 037, 039, 045, 047, 048, 049, 050, 052, 053, 056, 060, 061, 065, 067, 069, 070, 072, 073, 074, 076, 078, 080, 082, 085, 086, 087, 090, 094, 095, 097, 098는 통과를 못 했네요

그리고 주제넘게 제가 푼 방법에 대해 힌트를 드리자면 지우는 경우의 수는 여러가지여도 결과물에 남아있는 숫자의 구성은 순서가 다를 수는 있어도 각 숫자의 갯수는 같잖아요? 예를 들어 1122332211에서 13을 지운다고 하면 12232211이나 11223221같이 두가지 방법이 있지만 두 방법 다 1 3개 2 4개 3 1개가 남죠. 여기서 지우는 방법을 다 해봐서 언제 가장 크냐를 해보는 게 아니고 1 3개 2 4개 3 1개를 재배열하는 방법 중 가장 큰 것부터 따져가면서 실제로 만들 수 있는지를 따져보는 느낌으로(진짜 이렇게 하면 시간초과 날 태니까요^^;) 풀었답니다.

luluctrl4   4년 전

와 저번에 쉬워보이잖아?
풀었다가 틀리고 어렵잖아?
하고 집어던졌었는데

멀 먼저 지워야하나 생각하지 않고
무엇을 먼저 출력해야 하나 생각하니 길이 보이더라구요

sdsdsf   4년 전

doju 님 ! 역시... 상위 랭커분은 뭐가 달라도 다르군요 !! 한 수 배워갑니다 !! 앞으로 랜덤 데이터 생성해서 해봐야겠어요 !!

sait2000 님 ! ㅎㅎ 오늘 새벽에 풀어내신 분 맞으시죠?ㅎㅎ 채점현황 보면서 으아아아아 쪽지 보내서 여쭤보고 싶다 으아아아 이러면서 잠들었네요 ㅎㅎ

좋은 조언 감사합니다 !! 선물로 주신 tc를 이용해서 사색에 빠져야 겠어요 ㅎㅎㅎㅎ

luluctrl4 님 ! 무엇을 먼저 출력한다라... 으...ㅠㅠ 처음부터 다시 시작한다는 생각으로 too 진지하게 생각해봐야겠어요 ㅠㅠ 저도 맞은 사람 명단에 아이디 좀 올리겠습니다 ㅎㅎㅎ

sdsdsf   4년 전

이 문제...정말..하...

원래 고민하다가 정 안풀리면 다른 문제로 넘어가야하는데 이 문제만큼은 풀겠다는 쓸떼 없는 오기로

덤볐다가 3일이나 날렸네요..........ㅎㅎㅎ

코드를 갈아 엎은 것도 한 두번이지 더 이상 못해먹겠어요... 70번 정도 제출했는데 모조리 압살......

하루종일 이 한 문제만 생각하다가

도저히 풀리지가 않아서 이러다 홧병이나 걸려 쓰러질거 같습니다.......찡찡찡..

그냥 이 문제는 풀기 보다는 괴수님들의 사고나 테크닉을 배우고 싶어

이렇게 염치 없게 해결방법을 여쭈어 봅니다...

정답을 보고 싶어요.. 특히 sait2000님.... 어떻게 짧은 줄로 완성을.......하...ㅠ

sait2000   4년 전

이거라도 괜찮으면 보실래요?

sdsdsf   4년 전

와... 감사합니다...ㅠ

님 코드를 보니 제 미천한 실력이 드러나네요....ㅠ

코드 한번 보면서 하나하나 이해해야 겠어요 그러면 뭔가 더 배우는 것도 있을거 같아요 !!

감사합니다..ㅠㅠ

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