string s;
vector<int>v;
getline(cin,s);
int idx=0;
for(int i=0;i<s.size();i++)
{
if(s[i]==' ')
{
v.push_back(stoi(s.substr(idx,i-idx)));
idx=i+1;
}
}
v.push_back(stoi(s.substr(idx)));
가끔 한줄에 여러개의 숫자가 입력으로 들어오는 경우가 있습니다.
예를들어 6 2 3 5 8 이런식의 입력이라던가, 123,52,6,321 같은 입력들을 처리하는 코드입니다.
간단하지만 생각보단 성가신코드입니다. 위의 코드는 빈칸을 간격으로 둔 입력을 처리하는코드이고,
',' 로 구분을 둔 입력은 if조건문을 s[i]==',' 이런식으로 변형해주면 됩니다.
'📑코드 포스트잇' 카테고리의 다른 글
C++ 두 선분의 교차 여부 (0) | 2020.03.24 |
---|---|
네트워크 플로우(일반적 구현, 구조체로 구현) (0) | 2020.02.19 |
경우의 수 구하기 (0) | 2020.01.29 |
조합:n개의 원소 중 m개를 고르자 (0) | 2020.01.09 |
펜윅 트리 (0) | 2020.01.09 |