• 카테고리

    질문 & 답변
  • 세부 분야

    알고리즘 · 자료구조

  • 해결 여부

    미해결

1-G 질문

24.02.29 20:20 작성 조회수 127

0

http://boj.kr/8edf26bd4812427b8ea57ea5702bf7aa

 

저는 이 문제를 , 예를 들어, string key 로 ab*ba 를 받는다고 하면substr() 와 find()함수를 이용하여 이전 문자들은 start에 저장, 이후 문자들은 end에 저장하였습니다.

이후에 name 문자열에 n만큼 받으면 name을 받을때 마다 ssubstr와 length()함수를 이용하여 start와 end를 비교하여 문제를 푸는 방식으로 풀었습니다.

출력은 제대로 나오는데 백준에서는 틀렸다고 나옵니다. 어디가 틀린걸까요?

답변 1

답변을 작성해보세요.

0

안녕하세요 은우님 ㅎㅎ

    end = key.substr(key.find("*")+1, key.find("*"));

이부분이 좀 어색하지 않을까요? aaa*bb에서 저게 의미하는 바는 bb를 추출해내는 것인데 두번째 인자가 모호합니다. (갑자기 다시 *를 찾아 해당 이터레이터를 집어넣는다 = 모호함)

substr(위치, 크기)가 들어가야 됨.

즉, 2번째인자는 크기라는 부분이 들어가야 합니다. 

 

이부분을 수정해보시겠어요?

 



또 질문 있으시면 언제든지 질문 부탁드립니다.

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

감사합니다.

강사 큰돌 올림.