문제
문제: 알파벳 소문자로만 이루어진 단어가 주어진다. 이때, 이 단어가 팰린드롬인지 아닌지 확인하는 프로그램을 작성하시오. 팰린드롬이란 앞으로 읽을 때와 거꾸로 읽을 때 똑같은 단어를 말한다.
level, noon은 팰린드롬이고, baekjoon, online, judge는 팰린드롬이 아니다.
입력: 첫째 줄에 단어가 주어진다. 단어의 길이는 1보다 크거나 같고, 100보다 작거나 같으며, 알파벳 소문자로만 이루어져 있다.
출력: 첫째 줄에 팰린드롬이면 1, 아니면 0을 출력한다.
예제 입력: level 또는 baekjoon
예제 출력: 1 또는 0
풀이
const fs = require('fs');
const input = fs.readFileSync(0, 'utf-8').trim();
const reversed = input.split('').reverse().join('');
if (input === reversed) {
console.log(1);
} else {
console.log(0);
}
풀이 해석
1. 문자열을 뒤집기는 'split('').reverse().join('')'을 사용하면 된다.
- split('') 문자열을 배열로 쪼갠다.
- reverse() 배열의 값을 뒤집는다.
- join('') 다시 문자열로 만든다.
2. if문으로 입력값과 뒤집은 문자열인 reversed가 같다면 1을 출력, 아니면 0을 출력한다.
더 알아보기
1. if문은 삼항연산자로 대체할 수 있다.
console.log(input === reversed ? 1 : 0);
'알고리즘 Node.js' 카테고리의 다른 글
백준 2941문제. 크로아티아 알파벳 (0) | 2025.03.27 |
---|---|
백준 1157문제. 단어 공부(어렵다,,!) (0) | 2025.03.26 |
백준 2444문제. 별 찍기 - 7 (0) | 2025.03.24 |
백준 3003문제. 킹, 퀸, 룩, 비숍, 나이트, 폰 (0) | 2025.03.23 |
백준 25083문제. 새싹(6단계 시작) (0) | 2025.03.22 |