inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

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

1-G

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

262

종호

작성한 질문수 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

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

 

코딩 살구클럽 가입 문의

0

63

2

코딩살구클럽 가입문의

0

69

2

3-K private case 질문

0

64

2

안녕하세요. 코딩살구클럽 문의드립니다!

0

76

2

7:41 듣다가 질문합니다

0

73

2

코드 리뷰 요청드립니다!

0

81

2

코딩살구클럽 계정 문의

0

76

2

SK하이닉스 대비 강의수강

0

210

3

코딩살구클럽 등록부탁드립니다.

0

78

2

7-F 재귀로 풀시 런타임애러

0

72

1

1-N 문제 질문입니다. (+ 채점오류)

0

82

2

코딩살구클럽 가입 확인 부탁드립니다.

0

86

2

직장인 코테 합격 공부방법 문의

0

121

2

코딩살구클럽 가입 방법

0

94

2

6-H 체점 관련 질문

0

74

1

채점서버 연결 관련 질문입니다

0

101

2

삼성 s직군

0

88

1

삼성 코테 없어짐

0

210

1

코딩살구클럽 가입부탁드립니다

0

87

2

코딩살구클럽 가입 요청 확인부탁드립니다

0

69

2

5-S 테스트 케이스 질문

0

78

2

코살 문제풀이 환경

0

88

2

2 - T 오큰수 문제가 있는 것 같습니다.

0

81

1

추천 추가문제들

0

74

2