chhan2759   3년 전

밑에 올린 코드는 144ms의 시간이 걸렸습니다.

하지만 밑의 코드에서 6 번째 라인을

if (int(val) < 10):

으로 바꿔서 제출하면 시간이 4280ms가 나오는데, 시간 차이가 이렇게 크게 발생하는 이유가 있을까요 ?? 

rdmbounder   3년 전

입력되는 수의 제한이 1,000,000 자리 이하의 수라 되어있는데 이게 좀 헷갈리게 적혀있는데 한 자리 수 뒤에 0이 백만개가 이어질 수 있다는 말 입니다. (100000000000000000000000000.......... 이런식)

근데 컴퓨터에서 그정도 수를 문자열형에서 정수 자료형으로 바꾸는데 많은 시간이 걸립니다. 또한 메모리 공간도 많이 차지하고 이만한 공간을 새로 확보하는데 추가로 시간이 들겠지요. 실제로 직접 제출하신 코드 채점 내역을 보면 int()로 큰 정수를 직접 바꾸실 때 메모리를 배로 사용한 것을 확인하실 수 있습니다.

이정도면 답변이 되었을까요?

chhan2759   3년 전

아 !! 도움이 많이 되었습니다 ㅎㅎ 감사합니다 !!

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