[백준] 자바스크립트 10988번

DONNIE·2023년 5월 4일
0

algorithms

목록 보기
22/32

문제

알파벳 소문자로만 이루어진 단어가 주어진다. 이때, 이 단어가 팰린드롬인지 아닌지 확인하는 프로그램을 작성하시오.
팰린드롬이란 앞으로 읽을 때와 거꾸로 읽을 때 똑같은 단어를 말한다.
level, noon은 팰린드롬이고, baekjoon, online, judge는 팰린드롬이 아니다.

입력

첫째 줄에 단어가 주어진다. 단어의 길이는 1보다 크거나 같고, 100보다 작거나 같으며, 알파벳 소문자로만 이루어져 있다.

출력

첫째 줄에 팰린드롬이면 1, 아니면 0을 출력한다.

제출

const input = require('fs').readFileSync(/dev/stdin).toString().trim().split('\n');
const str = input[0];

const lng = str.length/2
const left = str.slice(0,lng);
const right = str.slice(Number.isInteger(lng)?lng:parseInt(lng)+1)

if(left===right.split('').reverse().join('')) console.log(1)
else console.log(0)
  • 문자열비교
right.split('').reverse().join('') => 문자열을 배열로 바꿔서 reverse 하고 다시 join으로 문자열로 만듦
  • 정수확인
str.slice(Number.isInteger(lng)?lng:parseInt(lng)+1) // str을 나눈값이 정수가 아닐때 (1이하일떄?) 1을 더해줘서 뒷부분의 절반만 가져오도록. . ??
profile
후론트엔드 개발자

0개의 댓글