작성
·
206
0
선생님 앞 강의에서 말씀 해 주신 s.length -i -1 로 풀고싶어서 아스키코드를 이용해봤는데 if 문을 열고 소문자 대문자 일 때만 돌게끔 범위를 설정해줬습니다.
이런 방법으로는 풀수없는걸까요 ? s[i] !== s[s.length -i -1] 일때는 'NO' 를 출력하게끔 했는데 맞는 문자열이 들어가도 'NO'를 출력하더라구요 ㅠㅠ
function solution(s) {
let answer = 'YES';
s = s.toLowerCase();
for (let i = 0; i < Math.floor(s.length / 2); i++) {
if (
s[i].charCodeAt() >= 65 ||
s[i].charCodeAt() <= 90 ||
s[i].charCodeAt() >= 97 ||
s[i].charCodeAt() <= 122
) {
if (s[i] !== s[s.length - i - 1]) {
return 'NO';
}
}
}
return answer;
}
console.log(solution('found7, time: study; Yduts; emit, 7DnuoF'));
답변 1
0
죄송합니다 제가 범위를 잘못 설정해서 계속 NO 가 출력 된거였습니다 .
```
function solution(s) {
let answer = 'YES';
s = s.toLowerCase();
for (let i = 0; i < Math.floor(s.length / 2); i++) {
if (
(s[i].charCodeAt() >= 65 && s[i].charCodeAt() <= 90) ||
(s[i].charCodeAt() >= 97 && s[i].charCodeAt() <= 122)
) {
if (s[i] !== s[s.length - i - 1]) {
return 'NO';
}
}
}
return answer;
}
console.log(solution('found7, time: study; Yduts; emit, 7Dnuod'));
```
이렇게 수정하니 잘 됩니다.