본문 바로가기
코딩테스트 뿌수기

[백준 : 10988번 node.js] 팰린드롬인지 확인하기

by hans-j 2024. 6. 8.

https://www.acmicpc.net/problem/10988

 

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

팰린드롬이란 앞으로 읽을 때와 거꾸로 읽을 때 똑같은 단어를 말한다. 

 

해결과정

 

1. 주어지는 단어를 배열로 담는다

 

2.각 알파벳을 쪼개서 담고 , 다시 합친다

 

3. 주어지는 문자와 비교하여 같으면 1 리턴, 다르면 0리턴

 

4. 제출

const fs = require('fs');
const filePath = process.platform === "linux" ? '/dev/stdin' : __dirname + '/input.txt';
const input = fs.readFileSync(filePath).toString().trim();

function reverseString(givenString){
    return givenString.split('').reverse().join('');
}

function validator(givenString){
    let reversedString = reverseString(givenString);
    return givenString === reversedString ? 1 : 0;
}

 


 

위의 문제를 해결하며 사용한 메서드

 

split 메서드 : String 객체를 여러개의 문자열로 나눔

위에서는 (' ')구분자를 사용했는데 이것은 띄어쓰기를 기준으로 나눈다는 의미 -> 배열 타입으로 반

https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/String/split

 

reverse 메서드 : 배열의 순서가 반전됨

https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/Array/reverse

 

join메서드 : 배열의 모든 요소를 쉼표나 지정된 기본 문자열로구분하여 연결한 새 문자열을 만들어 반환 -> seperator(구분자)를 따로 지정해주지않으면 쉼표로 join되어 반환, 띄어쓰기를 구분자로 지정할 경우 모든 문자열이 붙어서 반환됨

->

const elements = ['Fire', 'Air', 'Water'];

console.log(elements.join());  // Expected output: "Fire,Air,Water"
console.log(elements.join(''));  // Expected output: "FireAirWater"

https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/Array/join