인프런 커뮤니티 질문&답변
어느 부분이 오류인지
작성
·
248
0
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요!
- 먼저 유사한 질문이 있었는지 검색해보세요.
- 서로 예의를 지키며 존중하는 문화를 만들어가요.
- 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.
9996번입니다. http://boj.kr/fdceab36bef641b0912c75a854b7022d
해설 시청 이후 수정해서 다시 해봤는데, 어떤 점이 오류인지 잘 모르겠습니다..
답변 1
1
큰돌
지식공유자
안녕하세요. kim님 ㅎㅎ
주석달았는데 참고해주세요.
#include <bits/stdc++.h>
using namespace std;
int main(void) {
ios_base::sync_with_stdio(false);
cin.tie(NULL);
cout.tie(NULL);
//good
int N;
cin >> N; // 1<= <= 100;
string pattern;
cin >> pattern;
int pos = pattern.find("*");
string pre = pattern.substr(0, pos);
string dev = pattern.substr(pos + 1);
string input;
for (int i = 0; i < N; i++) {
cin >> input;
// 같을 때도 안될까요?
if (input.size() <= pre.size() + dev.size()) {
cout << "NE" << '\n';
}
// good
else if (pre == input.substr(0, pre.size()) && dev == input.substr(input.size()-dev.size())) {
cout << "DA" << '\n';
} else {
cout << "NE" << '\n';
}
}
}





하다 보니 사소한 것을 놓쳤네요.. 감사합니다!
큰돌님, 제가 학습하면서 하는 과정에 대해 의문이 들어 지금 하는 공부 방법을 확인 받고 싶습니다.
개념 강의 수강 -> 논리 생각 + 생각대로 코딩 -> 문제 풀이 강의 수강(해결한 문제든 못한 문제든 전부) -> 코드 비교/해결 못한 문제는 재풀이
이렇게 하는 중인데, 두 번째 과정에서 시간이 좀 오래 걸립니다. 교안에 논리 생각에 1~2시간이라 하셨는데, 생각한 논리대로 코딩하고, 시간 오류 발생 및 잘못된 논리일 경우, 다른 방법 생각하고 다시 해보고 해결하려 하다가 도저히 모르겠는 경우에 강의 시청을 하는데, 생각보다 시간이 오래 걸리는데, 이 방법이 맞는 건가요??