inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

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

1-G

안녕하세요 케이스 질문 처음 올려드립니다.

238

종호

작성한 질문수 1

1

9996번 문제입니다

#include <iostream>
#include <vector>

using namespace std;
int N;
string strPattern;
vector<string> v; 
string input;

int main()
{
  cin >> N;
    cin >> strPattern;
    string left = "";
    string right = "";

    int index = 0;
    while (strPattern[index] != '*')
    {
        left += strPattern[index];
        ++index;
    }

    index = strPattern.find('*') + 1;
    right = strPattern.erase(0, index);

	for (int i = 0; i < N; ++i)
	{
		cin >> input;
		v.push_back(input);
	}

    for (int i = 0; i < v.size(); ++i)
    {
        // +ADD
        if (left.size() + right.size() > v[i].size())
        {
            cout << "NE" << endl;
            continue;
        }
        //
        string leftcopy = v[i];
        string rightcopy = v[i];

        if (left.size() <= leftcopy.size())
            leftcopy = leftcopy.erase(left.size(), leftcopy.size() - 1);

        if (right.size() <= rightcopy.size())
            rightcopy = rightcopy.erase(0, rightcopy.size() - right.size());

        if (leftcopy == left && rightcopy == right)
            cout << "DA" << '\n';
        else
            cout << "NE" << '\n';
    }
    return 0;
}

코드를 이렇게 작성하고 저쪽 주석 +ADD 부분이 없을때는 65% 에서 Fail 뜨고 저 ADD 부분을 추가했을때 성공이 떴습니다


1
a*aaa

aaa

일때 정답이 어떻게 되는지 설명 부탁드립니다!

제가 생각했을때는 DA 같습니다!

 

 

 

c++ 코딩-테스트

답변 1

1

큰돌

안녕하세요 종호님 ㅎㅎ

1
a*aaa

aaa

>> 음.. DA가 아니라 NE입니다.

*가 아무것도 없다고 가정해도 최소 aaaa가 되어야 하기 때문입니다.

 

ADD 부분을 추가했을때 성공이 떴습니다

>> 사이즈 체킹을 해야 하기 때문입니다. 예를 들어

ab*ab

ab

라는게 있다 했을 때 문자열은 최소 ab + ab 즉, 4개의 크기 이상을 가져야 합니다. 이걸 체킹못하면 ab가 NE가 아닌 DA가 나와 버리게 되는 것이죠. 그부분을 고려하기 위해서 사이즈 체킹을 하는 것입니다.

 

또 질문 있으시면 질문 부탁드립니다.

좋은 수강평과 별점 5점은 제게 큰 힘이 됩니다.

감사합니다.

0

종호

알려주셔서 감사합니다!

제가말씀드린 케이스에 대해서 질문이 있는데 a는 앞에서 a 시작 aaa 는 뒤에서 aaa 끝인데 혹시 찾는 문자인덱스가 중복되는 경우는 고려하지않아도 괜찮은건가요!?

1

큰돌

네 맞습니다.

예를 들어 이렇게 중복되는 경우

즉,

a*aaa

aaaaaa

인 경우에 맞는 케이스가 됩니다.

 

교안 158페이지 문의드립니다

0

19

2

코딩살구클럽 관련 건의사항

0

39

1

코살에 19942 다이어트 문제에 N의 범위가 빠져있슴니다

0

21

1

진행 방법 질문드립니다!

0

52

2

2-I) 왜 이 문제가 그래프이론 카테고리에 있는지 잘 모르겠습니다.

0

58

2

2주차 개념#12 트리 순회

0

27

2

백준사이트가 종료된다고 합니다.

0

287

2

백준 서비스 종료

9

893

1

sk 하이닉스 코테 대비

0

368

2

3-G 최댓값 질문

0

51

1

모듈러 연산 값이 10이 아닌 경우도 있지 않나요?

0

83

2

3-I 코드 질문드립니다.

0

62

2

3-N 질문 있습니다.

0

66

2

학습방법

0

102

2

4-H 질문 있습니다 (코드 리뷰)

0

66

2

코딩테스트 어디까지 준비해야 하는지 질문이 있습니다.

0

172

2

2-O 반례가 무엇일지 어떤 부분이 틀렸는지 잘 모르겠습니다.

0

69

2

2주차 개념 #4-2. 인접행렬 질문있습니다.

0

64

2

1-A 문제풀이 후 궁금한 점이 생겨서 질문드립니다.

0

51

2

조합 재귀 풀이 확인 해주시면 감사하겠습니다.

0

68

2

함수별 시간복잡도

0

73

2

3-h 질문입니다.

0

49

1

안녕하세요 선생님. 시간 복잡도 4번 질문있습니다.

0

53

2

1-I 문제 질문 드립니다.

0

76

2