[Algorithm] 회문 문자열 (javaScript)

swing·2023년 6월 26일
0

[Algorithm]

목록 보기
48/96

문제

앞에서 읽을 때나 뒤에서 읽을 때나 같은 문자열을 회문 문자열이라고 합니다.
문자열이 입력되면 해당 문자열이 회문 문자열이면 "YES", 회문 문자열이 아니면 “NO"를 출력 하는 프로그램을 작성하세요.
단 회문을 검사할 때 대소문자를 구분하지 않습니다.

입력설명

첫 줄에 정수 길이 100을 넘지 않는 공백이 없는 문자열이 주어집니다.

출력설명

첫 번째 줄에 회문 문자열인지의 결과를 YES 또는 NO로 출력합니다.

입출력예제

입력 : gooG
출력 : YES

문제 해결

reverse를 사용해도 되고, 문자열의 반만큼 순회하면서 본인과 같은 인덱스의 끝 번호와 비교해도 된다.

const solution = (input) =>
  input.toLowerCase() === input.toLowerCase().split("").reverse().join("")
    ? "YES"
    : "NO";

const a = solution("gooG");
const b = solution("hello");

console.log(a, b); // YES NO

// 또 다른 방법
const solution = (input) => {
  const str = input.toLowerCase();

  for (let i = 0; i < Math.floor(str.length / 2); i++) {
    if (str[i] !== str[str.length - i - 1]) return "NO";
  }
  return "YES";
};

const a = solution("gooG");
const b = solution("hello");

console.log(a, b); // YES NO
profile
if(기록📝) 성장🌱

0개의 댓글