작성
·
139
0
function solution(b){
let answer;
b=b.toLowerCase().replace(/[^a-z]/g,"" )
console.log(b);
for(let i=0; i<Math.floor(b.length/2);i++){
if(b[i]===b[b.length-i-1]){
answer ="YES";
}else{
answer="No";
}
}
return answer;
}
let str="found7, time: study; Yduts; emit, 7Dnuof";
console.log(solution(str));
위와 같은 코드에서 answer값을 처음에 빈값으로 선언하고 if문에서 조건의 참인경우에 answer값을 지정해주면 함수 인수의 값으로 사용한 문자열 알파벳 철자를 수정하였을 경우 "YES"로만 화면에 출력이 되는데 이유를 혹시 알수 있을 까요?
답변 1
1
안녕하세요^^
if(b[i]===b[b.length-i-1])
위에 조건이 비교하는 모든 쌍이 참일 때 YES를 하는 것입니다. 위 조건이 한 번이라도 거짓이되어 else 쪽으로 가면 그것은 팰린드롬이 아닌것입니다.