개발/코딩테스트

[백준 | JavaScript] 10988 팰린드롬인지 확인하기

prpn97 2023. 5. 21. 22:12

문제 설명

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

입출력

input result
level 1
baekjoon 0

문제 풀이

const fs = require("fs");
let input = fs.readFileSync("./input.txt").toString().trim()
let answer = 1
for(let i = 0; i < Math.floor(input.length/2); i++){
  if(input[i]!==input[input.length-1-i]){
    answer = 0
  }
}
console.log(answer)

문자열을 반으로 나눠 비교했을 때 뒤집은 값과 같으면 1, 아니면 0을 반환한다. 

반복문을 문자열의 절반만큼 최댓값을 주되, 문자열의 길이가 홀수일 수 있어 내림해주었다.

기본값을 1로 설정하고, 문자열 앞부분과 뒷부분을(전체길이에서 앞부분의 길이를 빼서) 비교한다.

그리고 같지 않을 경우 answer을 0으로 바꾼다. 

728x90