본문 바로가기
Practice & Study/프로그래머스

프로그래머스>코딩테스트 입문>배열 뒤집기 (C++)

 

지난 면접에서 물어본 문제와 비슷하다.

차이가 있다면 라이브러리를 쓰느냐 마느냐의 차이겠지....

 

우선 나는 이렇게 풀었다.

좋은 방법은 아닌 것 같지만 이게 내게 가장 익숙한 방법이다. 

vector<int> solution(vector<int> num_list) {
    vector<int> answer;
    for(int i = num_list.size() - 1; i > -1; i--) {
        answer.push_back(num_list.at(i));
    }
    return answer;
}

 

다른 사람의 풀이1

vector<int> solution(vector<int> num_list) {
    vector<int> answer;
    reverse(num_list.begin(), num_list.end());

    return num_list;
}

reverse함수를 사용하였다. 

reverse(처음 요소, 끝 요소) : 헤더파일은 <algorithm> , 배열 및 문자열을 뒤집는다.

vector.begin() : 벡터의 첫 번째 요소 또는 빈 벡터 다음의 위치 주소를 지정하는 임의 액세스 반복기. 

vector.end() : 벡터 끝을 가리키는 임의 액세스 반복기.