inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

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

1-G

split을 이용한 풀이법 질문입니다

해결된 질문

322

lll

작성한 질문수 16

0

#include <bits/stdc++.h>
using namespace std;
vector<string> split(string input, string delimeter)
{
    vector<string> ret;
    long long pos = 0;
    while ((pos = input.find(delimeter)) != string::npos)
    {

        string token = input.substr(0, pos);
        ret.push_back(token);
        input.erase(0, pos + delimeter.length());
    }
    ret.push_back(input);
    return ret;
}
int main()
{
    // freopen("input.txt", "r", stdin);
    int n;
    string input;
    cin >> n >> input;
    string deli = "*";
    vector<string> sp = split(input, deli);

    for (int i = 0; i < n; i++)
    {
        string temp;
        cin >> temp;
        int firstFind = temp.find(sp[0]);
        reverse(temp.begin(), temp.end());
        reverse(sp[1].begin(), sp[1].end());
        int secondFind = temp.find(sp[1]);
        bool size = (temp.length() >= input.length() - 1);
        if (!firstFind && !secondFind && size)
        {
            cout << "DA\n";
        }
        else
            cout << "NE\n";
    }
    return 0;
}

교안에 split이 있길래 활용하고 싶었는데  이 방법으로 하면  틀립니다 .. 질문게시판에 있는 반례는 다 통과했는데 왜 그런지 알 수 있을까요..?

C++ 코테 준비 같이 해요!

답변 1

0

큰돌

temp reverse는 왜 하시나요? 

0

lll

예를 들어서 

huh*tan
huhovdsvastan

이 있다면 앞쪽에서 huh의 위치를 0 으로 찾고

둘다 reverse 해서 nat 의 위치도 0으로 찾기 위함입니다

0

큰돌

굉장히 좋은 코드네요. find로 첫번째부터 시작해서 찾으면 0이 뜨니 그걸 기반으로. size도 훌륭하구요.

근데 저 잘못된 점 찾았어요. 아래의 코드요. 이걸 계속해서 반복해서 reverse를 하게 되면 문제가 되지 않을까요? ab가 ba되었다가 ab되었다가 이렇게 될텐데요?

 


        reverse(sp[1].begin(), sp[1].end());

0

lll

아하 저걸 반복문 안에 넣어놔서 문제가 생겼던거군요 ... 한참 고민하고있었는데 정말 감사합니다 ㅠㅠㅠ 강의도 너무 잘듣고있습니다 사랑합니다

0

큰돌

저도 사랑해요ㅋㅋㅋㅋ 열공입니다.

1-E질문입니다!

0

533

2

3-L 틀린 부분 피드백 부탁드립니다.

0

837

2

1-A문제 순열재귀함수 질문입니다.

0

396

1

1-A 일곱난쟁이문제입니다

0

471

1

문제 풀 때 방향성에 대해

0

811

1

맥에서 vs code로 실행 관련 질문입니다

0

530

1

17071번 메모리 초과

0

390

1

1-C질문입니다!

0

428

2

2-B BFS 시간초과질문

0

638

2

1-O 13번 라인

0

447

1

6-J 놀이공원 문제 질문

0

390

1

구현관련 질문

0

492

1

강의 교안

0

322

1

실력을 더 올리고나서 강의를 보는 것이 맞을까요?

0

550

1

안녕하세요! 재귀함수에 관해서 질문드립니다

0

540

1

1-K

0

481

2

3-G번 질문있습니다.

1

482

3

3-C 실행 시간 질문드립니다.

0

504

1

4-A 문제 풀이 질문있습니다.

0

602

2

비트마스킹 연산자 "1의 보수" 영문 표기법

0

442

1

격자탐색 문제에서 BFS 시간복잡도 질문드립니다.

0

351

1

3-O go 함수 질문 드립니다.

1

453

2

4-A 출력 질문

0

308

1

1주차 1-O 질문드립니다

0

266

1