백준에 제출을 할 경우 런타임 에러(Seg Fault)가 계속 뜨는데요. 찾아보니까 Seg fault 에러가 할당하지 않은 메모리 영역에 접근할 경우 뜨는 에러라고 하더라구요. 테스트 케이스를 이것저것 넣어봤을 때 결과는 제대로 나오는데 어떤 부분 때문에 SegFault 에러가 계속 뜨는지 잘 모르겠습니다..
#include <iostream>
#include <string>
#include <vector>
#include <algorithm>
using namespace std;
vector<string> vec[7];
int main(void) {
ios_base::sync_with_stdio(false);
cin.tie(NULL);
int n, q;
cin >> n >> q;
getchar();
for (int i = 0; i < n; i++) {
string s, temp;
getline(cin, s);
for (int j = 0; j < s.length()-2; j++) {
if (s[j] != '-' && s[j] != ' ' && s[j] != ':') temp += s[j];
}
int lv = s[s.length() - 1] - '0';
for (int j = 1; j <= lv; j++) {
vec[j].push_back(temp);
}
}
for (int i = 0; i < q; i++) {
string s, start, end, temp;
getline(cin, s);
for (int j = 0; j < s.length() - 2; j++) {
if (s[j] == '#') {
start = temp;
temp.clear();
continue;
}
if (s[j] != '-' && s[j] != ':' && s[j]!=' ') {
temp += s[j];
}
}
end = temp;
int lv = s[s.length() - 1] - '0';
int ans = upper_bound(vec[lv].begin(), vec[lv].end(), end) - lower_bound(vec[lv].begin(), vec[lv].end(), start);
cout << ans << '\n';
}
}
'Koala - 4기' 카테고리의 다른 글
[BOJ 1644] : 소수의 연속합 (0) | 2021.07.17 |
---|---|
[BOJ] 21774 (0) | 2021.07.17 |
[BOJ] 1644 소수의 연속합 (0) | 2021.07.16 |
[BOJ] 21774 가희와 로그 파일 (0) | 2021.07.16 |
[BOJ 21774] - 가희와 로그 파일 (2) | 2021.07.16 |