min의 초기값에 최대 가능 점수 1000점을
max의 초기값에 최소 가능 점수 0점을
미로 주행 테스트 풀이를 위한 연습 겸해서 C++ 로도 풀어 보았다.
- cin >> N; 이후에 getline()을 쓰면 에러가 발생한다.
#include<iostream>
#include <vector>
#include <string>
// #include <algorithm>
using namespace std;
int main()
{
int N;
string strInput;
vector<int> scores;
int mm[2] = {1000,0};
int s_d;
cin >> N;
// cout << N << endl;
cin.ignore();
// getline(cin, strInput);
// N = stoi(strInput);
getline(cin, strInput);
// cout << "In:" << strInput << endl;
string strNum = "";
for(int i = 0; i < strInput.length(); i++)
{
if(strInput.at(i) == ' ')
{
scores.push_back( atoi(strNum.c_str()) );
strNum = "";
}
else
{
strNum += strInput.at(i);
continue;
}
}
scores.push_back( atoi(strNum.c_str()) );
for(auto s: scores) {
mm[0] = min(mm[0],s);
mm[1] = max(mm[1],s);
s_d = mm[1]-mm[0];
}
cout << s_d << '\n';
return 0;
}
N = input()
scores = map(int, input().split())
mm = [1000,0]
for s in scores:
mm[0] = min(mm[0],s)
mm[1] = max(mm[1],s)
s_d = mm[1]-mm[0]
print(s_d)