인프런 커뮤니티 질문&답변
for 문 안에 indexOf를 쓰면 시간복잡도가 어떻게 될까요?
작성
·
894
0
// 가장 짧은 문자거리
function solution(str, al) {
const answer = [];
let prev = str.indexOf(al);
for (let i = 0; i < str.length; i++) {
let next = str.indexOf(al, i);
let space_l = Math.abs(i - prev);
let space_r = Math.abs(i - next);
if (space_l > space_r) {
prev = next;
}
answer.push(Math.min(space_l, space_r));
}
return answer.join(' ');
}
console.log(solution('teachermode', 'e'));
저는 이렇게 코드를 작성했습니다.,
for 문을 돌면서 i 번째 이후에 있는 'e'의 인덱스 값을
찾아서 비교하는 방식으로 코드를 작성했는데
이경우는 시간복잡도가 O(n) 일까요 O(n^2)일까요?
그리고 혹시 코드 반례가 있을지 확인해주시면 감사드리겠습니다!!
퀴즈
문자열이 회문(Palindrome)인지 확인할 때, 내장 함수를 사용하는 방법으로 강의에서 언급된 주된 방식은 무엇일까요?
`split`, `sort`, `join`
`substring`, `reverse`, `concat`
`split`, `reverse`, `join`
`slice`, `sort`, `merge`





