ae04071   7년 전

아래 코드로 했는데 시간초과가 뜨네요.

64~71, 72~79번 라인을 각각

for(int i = 0; i < n; i++)

{

         scanf(" %c", &ch);

         p.push_back(ch);

}


for(int i = 0; i < n; i++)

{

        scanf(" %c", &ch);

        s.push_back(ch);

}

이런식으로 scanf를 쓸 때 %c 앞에 띄어쓰기를 해주고 입력을 받으면 문제없이 맞으니 뭐가 틀리는지 이유를 모르겠네요 ㅜ

zych1751   7년 전

인풋에 소문자가...

ae04071   7년 전

??????? 이런 함정이...

choyungsoo   7년 전

이 문제를 푸는데 틀렸습니다가 떠서 질문검색을 봤는데 제 풀이 방식이랑 같네요

제가 틀린 이유가 81라인의 s.pop_back() 이 처리를 안해줘서 틀렸는데요

이 처리를 왜 해주는 건가요?

ae04071   7년 전

제 코드로 설명해드리면
s의 문자열로 abc가 들어오고 p의 문자열도 abc가들어오면 
s+=s했을떄 abcabc 이렇게되서 abc를 두 번 셉니다.
이런거 방지할려고 pop_back 해준거 같아여 ㅎ

choyungsoo   7년 전

아 그러네요 ㅎㅎ

감사합니다!

댓글을 작성하려면 로그인해야 합니다.