• 카테고리

    질문 & 답변
  • 세부 분야

    알고리즘 · 자료구조

  • 해결 여부

    해결됨

c++ [4.나이차이] 질문드립니다.

22.03.10 15:51 작성 조회수 126

0

안녕하세요. c++ 로 코딩 테스트를 준비하려고 강의를 듣는 문성현이라고 합니다.

 

다름이 아니라 4. 나이차이 문제를 풀 때 저는 std::vector를 이용해서 풀어보려고 했는데요.

int main(){

using namespace std;

vector<int> v;

int sum = 0;

int i,N;

cin >> N;

for(i=0; i<N; i++){

cin >> i;

v.push_back(i);

}

sort(v.begin(),v.end());

sum = v[N-1] - v[0];

cout << sum << endl;

}

위와 같이 코드를 작성했을 때 마지막 v[N-1] - v[0]에서 v[N-1]의 값이 읽히지 않고 결과값이 그냥 -v[0]로 나오더라구요. 물론 강사님이 푸신 코드가 훨씬 간결하고 좋지만 제 코드에서 저 부분이 왜 작동하지 않는지 궁금해서요!

답변 1

답변을 작성해보세요.

1

안녕하세요^^

for(i=0; i<N; i++){

cin >> i;

v.push_back(i);

}

위 부분에 에러가 있습니다. for문이 i로 돌고있는데 i에 나이를 받으면 될까요?

문성현님의 프로필

문성현

질문자

2022.03.22

감사합니다. 너무 당연한 오류를 범하고 있었네요! 고쳤더니 코드가 잘 돌아갑니다!