int makeVecToInt(vector<int> vec)
{
int sum=0;
int radix=1;
for(int i=0;i<vec.size();i++)
{
sum+= ( vec[i] * radix );
radix*=10;
}
return sum;
}
int makeVecToInt(vector<int> vec)
{
return vec[0] + 10 * vec[1] + 100 * vec[2] + 1000 * vec[3];
}
int makeVecToInt(vector<int> vec)
{
return vec[0] + 10 * vec[1] + 100 * vec[2] + 1000 * vec[3];
}
vector의 size가 4이고 각 원소는 한자리수임이 보장된 상황입니다.
이럴때, 전자가 후자보다 수행시간이 빠른데 왜그런거죠??
for문을 도니까 당연히 후자가 더 빠를것같은데.
문제 : http://59.23.113.171/30stair/6174/6174.php?pname=6174
- linux
- gcc version 4.3.2 ...코드 최적화 level 은 -O2 로 주었습니다.
라고 합니당.
티나쟝은 개추
시간차이 크게 나요?
총 0.7초 차이나는데... 오차범위인가
0.7틱도 아니고 0.7초? ㄷㄷ 뭐지 임시공간 만드는거땜에 그런가...
테스트케이스 10개인가 총합내는거라...
ㅇㅎ... 어셈블리 단위로로 내려가서 해석해보면 뭔가 차이가 있지 않을까영
예를들어 레지스터 넣었다 뺐다 노가다질을 한다던지..
다음 수업시간에 VS로 열어서 살펴볼게...
그럼 더블릿 문제인걸로..
암만봐두 이해가 안된다