inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

묻고 답해요

173만명의 커뮤니티!! 함께 토론해봐요.

"11번) 숫자의 총 개수(small)" 에 관해 질문있습니다! (실행시간측정관련)

해결됨

it 취업을 위한 알고리즘 문제풀이 입문 (with C/C++) : 코딩테스트 대비

문제11번) 숫자의 총 개수(small) 의 강좌속에서, 김태원선생님께서 문제11번 처럼 코드를 작성하게 된다면, 자연수N의 크기가 너무 커졌을때, time limit가 발생한다고 하셨습니다. 그리고 " 제 컴퓨터로 만약 10억까지 숫자를 키워서 실행시킬경우, 25초, 26초 정도 걸리더라고요" 라고 수업시간에 말씀하셨습니다. 그래서 저는 직접! 제가 코드에서 시간을 측정하고 싶어서, 구글 검색을 해봤더니, time.h 헤더파일을 이용하면, 실행시간을 측정할 수 있다는 글을 보고, 제가 코드에 적용해보았습니다. 다음은 제가 작성한 코드를 붙여놓기 해놨습니다! --------------------------------------------------------------------------------------------------------------------- #include <stdio.h> #include <time.h> // 실행시간을 측정하기 위한 헤더파일 int main(int argc, char* argv[]) { clock_t start, finish; int N; int cnt = 0; // 숫자의 총 개수세는용 float time; start = clock(); // 시간 측정 시작 scanf("%d", &N); // 자연수N 입력 for (int i = 1; i <= N; i++) { int save = i; // 원본i의 값이 바뀌면 안되서, 일단 숫자 복사해놓기 while (save > 0) { cnt++; save = save / 10; } } printf("%d\n", cnt); finish = clock(); // 시간 측정 종료 time = (float)(finish - start) / CLOCKS_PER_SEC; printf("시간측정: %f\n", time); return 0; } ------------------------------------------------------------------------------------------------------------------- 돌려보았더니, 시간이 8초정도 나왔습니다. 저는 scanf로 사용자로부터 입력받기 전부터 시간측정을 시작하는걸로 코드를 작성하였는데, 하다보니 궁금증이 생겼습니다. 시간측정을 어느순간부터 시작해서 언제 시간측정을 끝내야 되는건가요? 강사님께서는 25초 정도 나왔다는데, 왜 저는 8초정도 나왔을까요?? 정말정말 너무 궁금합니다 ㅠㅠㅠㅠㅠㅠ 답변해주시면 감사하겠습니다!

  • 실행시간측정방법
  • 시간측정어떻게하죠
  • C++
  • 코테 준비 같이 해요!
  • 정말정말궁금해요
SEO 댓글 1 좋아요 0 조회수 330

인기 태그

인프런 TOP Writers

주간 인기글