인프런 커뮤니티 질문&답변
p를 1000으로 잡고 시작하신 이유가 있을까요?
작성
·
242
1
function solution(s, t) {
let answer = [];
let cnt = 0;
let n = s.length;
for (let i = 0; i < n; i++) {
if (s[i] === 'e') cnt = 0;
else cnt++;
answer.push(cnt);
};
for (let i = n - 1; i >= 0; i--) {
if (s[i] === 'e') cnt = 0
else cnt++;
if (answer[i] > cnt) {
answer[i] = cnt
}
};
return answer;
}
let str = "teachermode";
console.log(solution(str, 'e'));
안녕하세요 강사님! 제가 작성한 코드입니다.
p를 1000으로 초기화하고 시작하는건 생각도 못했네요 ㅜㅜ
혹시 그렇게 하신 이유가 있을까요?
답변 1
0
김태원
지식공유자
안녕하세요^^
teachermode의 t같은 경우 자신의 왼쪽에 타겟문자인 'e'문자가 없으니 왼쪽타겟문자와의 거리를 큰 숫자로 정하여 오른쪽 타겟문자와이 거리가 채택되게 하려고 적당히 큰 숫자를 준 것입니다.
들어오는 문자열의 길이가 100이하이니 적당히 큰 숫자로 1000을 잡은 것입니다.






감사합니다!
Number.MAX_SAFE_INTEGER 를 사용하시는 것과 비슷한 케이스라고 생각하면 될까요?