작성
·
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'
이며 start
가 4
라고 했을 때, start
인덱스부터 delimiter
문자 'd'
의 위치를 찾습니다.
따라서 input
의 4
번째 인덱스부터 검색을 시작하면 'd'
문자는 input
의 3
번째 인덱스에 위치하기 때문에 이미 지나친 상태입니다. 즉, start
이후로 delimiter
인 'd'
는 더 이상 없으므로 find()
함수는 찾을 수 없음을 의미하는 -1
을 반환할 것입니다.
end
변수에는 'd'
문자를 찾지 못했음을 나타내는 -1
이 들어가게 됩니다.