
순서를 거꾸로 읽어도 원래의 문자열이나 수열과 동일한 경우를 말한다.
문자열의 예시로는 기러기, 토마토, level, racecar
수열의 예시로는 121, 1221 등이 있다.
function isPalindrome(word) {
for (let i = 0; i < Math.floor(word.length / 2); i++) {
let left = word[i];
let right = word[word.length - 1 - i];
if (left !== right) {
return false;
}
}
return true;
}
// 테스트 코드
console.log(isPalindrome("racecar")); //true
console.log(isPalindrome("stars")); //false
console.log(isPalindrome("기러기")); //true
console.log(isPalindrome("123321")); //true
console.log(isPalindrome("hello")); //false
console.log(isPalindrome("kayak")); //true
문자열의 첫 번째 요소와 마지막 요소가 일치하는지 확인
문자열의 두 번째 요소와 끝에서 두 번째 요소가 일치하는지 확인
...
...
word의 첫 번째 요소의 인덱스는 0, 마지막 요소의 인덱스는 word.length - 1
두 번째 요소의 인덱스는 1, 끝에서 두번째 요소의 인덱스는 wordlength - 2
인덱스 i의 값과 word.length - 1 - i 값을 비교하면 되겠다!⭐️
함수가 반복 실행되는 횟수는 word.length / 2 번이네!
그런데 word.length가 홀수이면 그 나머지값은 반복하지 않아도 되니까
Math.floor() 를 사용해서 반복할 횟수를 정하면 되겠다!⭐️
isPalindrome 함수는 word를 파라미터로 받고,
변수 left에 word의 i 번째 요소를 저장합니다.
변수 right에는 word의 length -1 - i 번째 요소를 저장하고,
만약 변수 left와 right이 같지 않다면, false값을 반환합니다.
그 외의 경우라면, true값을 반환합니다.