입력된 문자열이 배열의 앞 순서로 같은 문자열인지 아닌지 확인 하는 방법
설명이 어렵다면 Method : Startswith 를 참고할 것!
당연히 현존하는 메소드로 쉽게 풀 수 있지만 메소드를 사용하는걸 좋아하지 않기 때문에 풀어서 써봤다.
var isPrefixString = function(s, words) {
let string = "";
for(let i=0; i<words.length; i++) {
string += words[i];
console.log(string);
if(string === s) {
return true;
}
}
return false;
}; 입력하세요
이걸 풀고나서 생각한 혹시 뒤에서 시작하는 endwith를 구현해 볼 순 없을까?
var isPostfixString = function(s, words) {
let string = "";
function reverseString(s) {
let result = "";
for(let i=s.length-1; i>=0; i--) {
result = result + s[i];
}
return result;
}
let result = reverseString(s);
console.log(result);
for(let i = words.length-1; i > 0; i--) {
string += reverseString(words[i]);
console.log(string);
if(string == result) console.log(true);
}
console.log(false);
}
isPostfixString("iloveleetcode", ["apples","i","love","leetcode"]);
뒤로 푸는 문제는 문자열을 reverse 시켜야 되는 부분이 생겼지만 reverse helper 함수를 하나 더 만들어 문제를 풀어냄!