인프런 커뮤니티 질문&답변

곧100억님의 프로필 이미지
곧100억

작성한 질문수

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

1-G

1-G 문제에 대한 질문입니다.

작성

·

319

0

http://boj.kr/53d3d972829a47cc80be8c0da3a25fa0

안녕하세요 선생님!

문제에 대한 코드를 작성한 뒤 예제에 있는 반례와

질문하기에 다른 학생들이 질문하고 선생님께서 찾으신

반례 모두 입력에 넣어봐도 정답으로 나오는데

백준에선 계속 틀리다고 합니다ㅠ

문법적인 오류인지 간단한 실수 인지 잘 모르겠습니다.

답변 1

1

큰돌님의 프로필 이미지
큰돌
지식공유자

안녕하세요 100억님 ㅎㅎ

    sfix = pat.substr(starIdx + 1, starIdx);

이부분이 잘못된 거 같습니다.

substr의 두번째 매개변수에는 얼만큼의 문자열을 뽑아낼지가 담겨야 합니다.

다만, 이렇게 생략을 하게 되면 해당 idx로 부터 끝까지 뽑아낸다는 의미가 됩니다.

substr은 교안내의 다음 부분을 참고 부탁드립니다.

substr(위치, 크기)

 

따라서 위의 코드를 이렇게 해보시겠어요?

  sfix = pat.substr(starIdx + 1);

 

if ... 
(str.substr(str.length() - sfix.length(), starIdx) == sfix))

이부분 또한 그렇게 수정해보시겠어요?

 


 

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

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

감사합니다.

강사 큰돌 올림.

곧100억님의 프로필 이미지
곧100억
질문자

이해 되었습니다 감사합니다!

곧100억님의 프로필 이미지
곧100억

작성한 질문수

질문하기