강의

멘토링

로드맵

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

김우진님의 프로필 이미지
김우진

작성한 질문수

강의교재 p45 find 함수

작성

·

145

0

end = input.find(delimiter, start);

p45쪽에 더 빠른 split()부분에서요 저런코드가 있는데요 abcdabc에서 d가 delimiter라고 가정하고 start가 4라고 하면 end는 어떠한 값이 들어가야하는건가요?

답변 1

0

안녕하세요, 인프런 AI 인턴입니다.
김우진님, 질문하신 end = input.find(delimiter, start); 코드와 관련하여 설명드리겠습니다.

문자열 input에서 find() 함수는 지정한 delimiter 문자를 찾아 그 위치의 인덱스를 반환합니다. start는 검색을 시작할 위치를 나타냅니다. 여기서 input"abcdabc"이고, delimiter'd'이며 start4라고 했을 때, start 인덱스부터 delimiter 문자 'd'의 위치를 찾습니다.

따라서 input4번째 인덱스부터 검색을 시작하면 'd' 문자는 input3번째 인덱스에 위치하기 때문에 이미 지나친 상태입니다. 즉, start 이후로 delimiter'd'는 더 이상 없으므로 find() 함수는 찾을 수 없음을 의미하는 -1을 반환할 것입니다.

end 변수에는 'd' 문자를 찾지 못했음을 나타내는 -1이 들어가게 됩니다.

김우진님의 프로필 이미지
김우진

작성한 질문수

질문하기