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];
}



vector의 size가 4이고 각 원소는 한자리수임이 보장된 상황입니다.


이럴때, 전자가 후자보다 수행시간이 빠른데 왜그런거죠??

for문을 도니까 당연히 후자가 더 빠를것같은데.


문제 : http://59.23.113.171/30stair/6174/6174.php?pname=6174


  • linux
  • gcc version 4.3.2 ...코드 최적화 level 은 -O2 로 주었습니다.

라고 합니당.