(알고리즘) 회문 문자열
앞에서 읽을 때나 뒤에서 읽을 때나 같은 문자열을 회문 문자열이라고 한다. 문자열이 입력되면 해당 문자열이 회문 문자열이면 'YES', 회문 문자열이 아니면 'NO'를 출력하는 프로그램을 작성하세요.
단 회문을 검사할 때 대소문자를 구분하지 않는다.
입력설명
첫 줄에 정수 길이 100을 넘지 않는 공백이 없는 문자열이 주어진다.
출력설명
첫 번째 줄에 회문 문자열인지의 결과를 YES 또는 NO로 출력한다.
입력예제
gooG
출력예제
YES
문제풀이
대소문자가 섞여있을 수 있으므로, toLowercase()
로 알파벳을 소문자로 통일해준다.
for문을 돌릴때 i번째와 length - i - 1
번째 문자가 동일한지를 체크한다. 문자열이 홀수일경우는 가운데 문자열이 달라도 상관이 없기 때문에 홀짝 판별식은 판단하지 않는다.
function solution(s) {
let string = s.toLowerCase();
let answer;
let n = string.length;
for (let i = 0; i < n; i++) {
string[i] === string[n - 1 - i] ? answer = 'YES' : answer = 'No'
}
return answer;
}
const s = 'gooG';
const s2= 'abbb';
console.log(solution(s));
console.log(solution(s2));
다른 문제풀이
배열화 시켜서 reverse()
메소드로 배열을 뒤집는다. 다시 그 배열을 join()
메소드로 합친다.
그렇게 나온 문자열과 원문 문자열을 직접 비교해서 결과값을 판별한다.
function solution(s) {
let answer='Yes';
s=s.toLowerCase();
if(s.split('').reverse().join('')!==s) return 'No';
return answer;
}
Author And Source
이 문제에 관하여((알고리즘) 회문 문자열), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@yunsungyang-omc/알고리즘-회문-문자열저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)