인프런 커뮤니티 질문&답변

박 경범님의 프로필 이미지
박 경범

작성한 질문수

10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트

1-G

백준 9996번 문제 질문입니다.

작성

·

235

0

#include <iostream>
#include <string>
#include <map>

using namespace std;

int N, a, e;

map<int, string> res;
string s, p;


int main() {
	cin >> N >> p;

	for (int i = 0; i < p.size(); i++) {
		a = p.find('*');
	}

	for (int i = 0; i < N; i++) {
		cin >> s;
		if (s.size() < p.size()) res[i] = "NE";
		else {
			if (p.substr(0, a) == s.substr(0, a) && p.substr(p.size() - a) == s.substr(s.size() - a)) res[i] = "DA";
			else res[i] = "NE";
		}
	}

	for (int i = 0; i < N; i++) cout << res[i] << "\n";

	return 0;
}

위와 같이 코드를 짰는데..

뭐가 문제인지를 잘 모르겠습니다.

암만 생각해도... 예외적이 케이스까지

다 처리했다고 생각하는데..

계속 틀렸다고 나오네요 ㅜㅜ

답변 2

0

박 경범님의 프로필 이미지
박 경범
질문자

저때는 저게 맞는줄 알았는데..

다시보니 전혀 쓸데없는 코드였네요...

혼자 3일정도 고민하다가 왜 오류가 나는지

알아내서 해결했습니다! 감사합니다!

0

큰돌님의 프로필 이미지
큰돌
지식공유자

안녕하세요 박경범님ㅎㅎ

저 근데 질문이 있는데요. 다음 코드요. 왜 p.size() 만큼 반복해서 p.find()를 하신건가요?

	for (int i = 0; i < p.size(); i++) {
		a = p.find('*');
	}

감사합니다.

박 경범님의 프로필 이미지
박 경범

작성한 질문수

질문하기