728x90

 백준에서 문제를 풀다보면 for문을 쓸 때 범위 지정을 해주는 방식이 다양하다.

for i in range(num): 방식을 사용하는 사람도 있고

for i in ' ' * num: 방식을 사용하는 사람도 있다.

 그래서 뭐가 다를까 구글 코랩에서 테스트를 했었는데 결과는 아래와 같다.

같은 기능이지만 실행속도 차이가 약 1초 난다.

 이걸 보고 의문이 생겨서 while문을 추가하여 테스트를 진행해 보았다.

while 추가 결과

 실행속도는 (문자열 복사 > while > range) 순이었다.

 조금 찾아보니 range는 무에서 유를 생성해낸 후 for 문을 돌리고 문자열 복사는 이미 존재하는 문자열을 복사하여 동일한 객체를 삽입해서 돌리는 것이므로 문자열 복사 방법이 조금은 유의미하게 빠른 결과를 보인다고 한다.

 하지만 이 부분은 어디까지나 인터넷에서 직접 찾은것이며 전문가의 의견, 공식문서 검색 등을 하지 않은 정보입니다.

 혹시 이 글을 보신분들 중에 뭐라고 검색해야지 제대로된 정보를 얻을 수 있는지 알려주신다면 감사하겠습니다.

+ Recent posts