강의

멘토링

커뮤니티

Cộng đồng Hỏi & Đáp của Inflearn

Hình ảnh hồ sơ của wyswhsl212288
wyswhsl212288

câu hỏi đã được viết

Giới thiệu về giải quyết vấn đề thuật toán JavaScript (chuẩn bị cho bài kiểm tra mã hóa)

2. Bảng màu

팰린드롬 문제

Viết

·

304

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'));
javascript코딩-테스트

Câu trả lời 1

0

wyswhsl21님의 프로필 이미지
wyswhsl21
Người đặt câu hỏi

죄송합니다 제가 범위를 잘못 설정해서 계속 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'));

```

이렇게 수정하니 잘 됩니다.

Hình ảnh hồ sơ của wyswhsl212288
wyswhsl212288

câu hỏi đã được viết

Đặt câu hỏi