개발후라이
개발후라이
개발후라이
  • 분류 전체보기 (285)
    • Web Front End (74)
      • Javascript & Typescript (26)
      • React (11)
      • Vue (4)
      • Nodejs (1)
      • HTML (6)
      • CSS (7)
      • HTTP (6)
      • 책 - Review (8)
    • TIL (0)
    • Problem Solved (135)
      • 알고리즘 (4)
      • BOJ (67)
      • Programmers (8)
      • HackerRank (33)
      • LeetCode (23)
    • 회고 (4)
      • 오늘의 회고 (16)
      • 주간 회고 (15)
      • 월간 회고 (7)
      • WakaTime (9)
    • Git (3)
    • 기타 (15)
      • 취업 (5)
      • 자격증 (1)

블로그 메뉴

  • GitHub
  • LinkedIn
  • 홈

인기 글

태그

  • 자바스크립트
  • 프론트엔드
  • 릿코드
  • JavaScript
  • 오늘의회고
  • 노마드북클럽
  • 개발자
  • 노개북
  • 회고
  • TypeScript

최근 댓글

최근 글

전체 방문자
오늘
어제

티스토리

hELLO · Designed By 정상우.
개발후라이

개발후라이

Problem Solved/LeetCode

[LeetCode] 125번 문제 - Valid Palindrome

2020. 5. 24. 20:24
반응형

문제

125. Valid Palindrome

문제 설명

문자열의 영숫자가 회문인지 판별하는 문제

  1. 정규식을 활용해 영숫자만 배열로 저장한다.
  2. 이제 저장된 배열이 회문인지 확인하면 되는데, 들어온 문자열이 ".,"와 같은 경우 길이가 없다고 나오므로 if문을 통해 예외처리를 해준다.
  • 이 때, 꼭 배열 자체를 비교할 필요는 없다. join을 활용해 문자열로 만들고, 그것을 뒤집은 값과 비교해도 된다. 여기서 나는 배열인 채로 비교했다.
  1. 그리고 전체 배열 크기의 반을 구한 다음에 그만큼만 반복문을 돌면서 값이 같은지 확인한다.
  2. 하나라도 다르면 false가 되어 결과로 반환하게 된다.

성공 코드

const isPalindrome = (s) => {
    const regex = /(\w)/g;
    const onlyAlphanumeric = s.toLowerCase().match(regex);

    if (!onlyAlphanumeric) return true;

    const halfSize = Math.floor(onlyAlphanumeric.length / 2);
    let result = true;

    for (let i = 0; i < halfSize; i++) {
        let last = onlyAlphanumeric.length - 1 - i;

        if (onlyAlphanumeric[i] !== onlyAlphanumeric[last]) {
            result = false;
        }
    }

    return result;
};
반응형
저작자표시 (새창열림)
    'Problem Solved/LeetCode' 카테고리의 다른 글
    • [LeetCode][Javascript] Number of 1 Bits
    • [leetCode][javascript] 448번 문제 - Find All Numbers Disappeared in an Array
    • [LeetCode] 242번 문제 - Valid Anagram
    • [LeetCode] 387번 문제 - First Unique Character in a String
    개발후라이
    개발후라이
    어제보다 오늘 발전하기 위한 공간 https://github.com/choisohyun

    티스토리툴바