1872번 - 로마 숫자
2608 번의 로마 숫자 문제를 풀고나서 비슷한 문제를 검색해서 찾은 문제인데요,
문제의 알고리즘을 로마숫자중에 가장 큰 단위 부터 조사해 가면서, 그 문자가 존재하고, 사용가능한 횟수이면 추가 하는 식으로
잡았습니다. 여러 테스트 케이스로 돌려봐도 제대로된 답이 떴는데 문제는 틀림이 뜨네요..
소스의 어디가 틀린것인지 답변 부탁드립니다.
로마숫자를 10진수로 바꾸는 함수(rome2dim)에 IV(4) 와 같은 작은 숫자가 앞에왔을 경우가 없는데요, 이것은 이런 케이스가 나오지 않게 끔
추가하였기 때문에 일부러 구현하지 않은것입니다.
으.. 저도 님 풀이가 맞다고 생각해버려서 왜 틀렸나 고민 많이했네요..ㅠㅠ
반례 찾았어요ㅋㅋㅋ
XXXIX 같은 경우는 39를 표현하는 숫자인데
위 코드로는 이 알파벳은 31이 최대라고 말하게됩니다.
방법은 멋졌지만.... 이렇게 깔끔한 코드로 풀리는 문제는 아닌거같네요.ㅠㅠ
아!! X가 3번밖에 쓸수없다는 규칙이 IX에는 적용되지 않는거군요?..
설마 그러진않을거라고 생각해서 멋대로 빼버렸네요..
정말 감사드립니다..
괜히 데이터가 이상한걸로 오해해가지고 ㅠㅠ
아.. 진짜 감사드려요 ㅋㅋㅋ 제 잘못된 코드 때문에 찾느라 고생하셨을탠데..
그 고생 헛되지 않게 결국 풀었습니다ㅋㅋ
댓글을 작성하려면 로그인해야 합니다.
yukariko 9년 전
2608 번의 로마 숫자 문제를 풀고나서 비슷한 문제를 검색해서 찾은 문제인데요,
문제의 알고리즘을 로마숫자중에 가장 큰 단위 부터 조사해 가면서, 그 문자가 존재하고, 사용가능한 횟수이면 추가 하는 식으로
잡았습니다. 여러 테스트 케이스로 돌려봐도 제대로된 답이 떴는데 문제는 틀림이 뜨네요..
소스의 어디가 틀린것인지 답변 부탁드립니다.
로마숫자를 10진수로 바꾸는 함수(rome2dim)에 IV(4) 와 같은 작은 숫자가 앞에왔을 경우가 없는데요, 이것은 이런 케이스가 나오지 않게 끔
추가하였기 때문에 일부러 구현하지 않은것입니다.