해결된 질문
작성
·
165
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에 나이를 받으면 될까요?
감사합니다. 너무 당연한 오류를 범하고 있었네요! 고쳤더니 코드가 잘 돌아갑니다!