작성
·
93
0
http://boj.kr/ffd2efb190a74fd4874666aed051a59b
안녕하세요 선생님.
나름대로 반례처리까지 다 했다 생각하는데 런타임 에러가 발생합니다.
예제는 통과하는데 어떤 점이 문제인지 잘 모르겠습니다 ㅜ
답변 1
0
안녕하세요 호영님 ㅎㅎ
다음과 같이 size체크 부분을 올리셔야 합니다.
나머지 부분은 다 잘 짜셨습니다. ㅎㅎ
#include <bits/stdc++.h>
using namespace std;
int main() {
string pre;
string suff;
int N;
string pattern;
cin >> N;
cin >> pattern;
int i = 0;
while(pattern[i] != 42) {
i++;
}
pre = pattern.substr(0, i);
suff = pattern.substr(i+1);
for (int i = 0; i < N; i++) {
string s;
cin >> s;
if (pre.size() + suff.size() > s.size()) {
cout << "NE" << "\n";
continue;
}
string sStart = s.substr(0, pre.length());
string sEnd = s.substr(s.length() - suff.length());
if (sStart == pre && sEnd == suff) {
cout << "DA" << "\n";
} else {
cout << "NE" << "\n";
}
}
return 0;
}
또 질문 있으시면 언제든지 질문 부탁드립니다.
좋은 수강평과 별점 5점은 제게 큰 힘이 됩니다. :)
감사합니다.
강사 큰돌 올림.