팰린드롬(palindrome) in JavaScript

iadorora·2024년 10월 16일

daily record

목록 보기
2/27
post-thumbnail

팰린드롬이란 ❔

순서를 거꾸로 읽어도 원래의 문자열이나 수열과 동일한 경우를 말한다.

문자열의 예시로는 기러기, 토마토, level, racecar
수열의 예시로는 121, 1221 등이 있다.

팰린드롬 판별기 in JavaScript

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에 wordi 번째 요소를 저장합니다.

변수 right에는 wordlength -1 - i 번째 요소를 저장하고,

만약 변수 left와 right이 같지 않다면, false값을 반환합니다.

그 외의 경우라면, true값을 반환합니다.

profile
Archive

0개의 댓글