gkswns3708   4년 전

질문 검색에서 10000번째 수가 2700000이 되지 않는 다는 것에서 힌트를 얻어

1부터 2700000까지 모두 순차적으로 탐색을 한 후 666이 들어간 숫자가 있다면 

num이라는 10000보다 조금 더 큰 배열에 순차적으로 넣게 된다면 

종말의 수가 sorting된 상태로 배열에 저장되어 있을 것이라 생각했습니다.

하지만 초반부에는 그랬지만 이게 270만까지 탐색하는 것 자체가 너무 많은 수를 탐색하는 것인지...

이 문제가 브루트 포스라는 종류로써 속해 있어서 전부 탐색해도 시간이 좀 널널할 꺼라 생각한 제 잘못이 있는 것 같습니다만....

뭔가 처음에는 뜨고 나중에는 안 뜨는게 또 코드 자체가 잘못되었다는 생각도 듭니다.

하지만 어떻게 고쳐야할 지 혹은 이런 문제에서 c에서는 어떤 함수가 적당히 쓰기 괜찮은지...

그런 것 조차 몰라서 검색으로 이것저것 넣다보니 이러한 코드가 되었습니다.

서론이 한탄이 되었다 보니... 길어졌습니다...

그냥 어디가 틀렸는지 잘 모르겠습니다..

djm03178   4년 전

1000000부터는 7글자인데, 7글자를 문자열로 저장하면 끝에 널 문자가 붙어 8글자가 되므로 s의 크기도 8 이상이어야 합니다.

rlarla97   4년 전

함수보다는 연산자를 이용하시는게 좋지 않을까요?

아니면 비슷한 방법으로 어차피 N 번째의 수 이니까 굳이 num 배열에 저장할 필요 없이 count == N 이 되면 반복문을 종료하고 i 값을 출력해주시는 것이 더욱 좋을 것 같아요.

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