❗ 풀이
const input = require('fs').readFileSync('dev/stdin').toString().trim();
let reverseInput = input.split("").reverse().join("");
if (reverseInput == input) {
console.log(reverseInput.length);
return;
}
for (let i = 1; i < input.length; i++) {
let arr = input.split("").slice(i).join("");
const reverseArray = input.split("").slice(i).reverse().join("");
if (arr === reverseArray) {
console.log(input.length + i)
break;
}
}
- 입력 문자열을 split한 후 뒤집고 다시 문자열로 만들어 정의
- 앞서 reverse한 입력이 원래 입력과 같은지 확인하여, 같으면 입력이 이미 팰린드롬임을 의미하여 종료
- 팰린드롬이면 입력된 길이를 출력하고 종료
- 입력이 팰린드롬이 아닌 경우 인덱스 1부터 시작하여 입력을 반복
- 인덱스 i의 입력을 끝까지 슬라이스하고 문자를 결합하여 arr 배열을 만듬
- 새로 만든 배열을 reverse한 reverseArray 배열을 만듬
- reverse와 reverseArray가 같은지 확인
- 같으면 입력값의 길이와 i의 합을 출력하고 종료
'알고리즘 풀이' 카테고리의 다른 글
[JAVASCRIPT] 백준 4358번 문제 풀이 (0) | 2023.05.31 |
---|---|
[JAVASCRIPT] 백준 4659번 문제 풀이 (0) | 2023.05.26 |
[JAVASCRIPT] 백준 1213번 문제 풀이 (0) | 2023.04.22 |
[JAVASCRIPT] 백준 17413번 문제 풀이 (0) | 2023.04.20 |
[JAVASCRIPT] 백준 11655번 문제 풀이 (1) | 2023.04.17 |