We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
문자열이 팰린드롬(회문)인지 판별
사람이 풀 때는 어떻게 풀까? → 양쪽 끝에서부터 하나씩 비교해본다 → 모든 비교가 같으면 회문이다 → 하나라도 다르면 회문이 아니다
두 가지 방식으로 접근할 수 있다:
i = 0에서 시작 ↓ ⏺️ // 체크포인트 ↓ s[i]와 s[마지막-i] 비교 ↓ 같으면 -> i++ 후 ⏺️로 돌아감 (단, i가 문자열 길이/2 이하일때만) 다르면 -> false 반환
문자열 입력 ↓ 길이가 1 이하면 -> true 반환 ↓ 첫글자와 마지막 글자 비교 ↓ 다르면 -> false 반환 같으면 -> 첫글자와 마지막글자 제외한 문자열로 재귀호출
// 방법 1: 반복문 /** * * @param s {String} * @returns {boolean} */ function isPalindrome(s) { let n = s.length; s = s.toUpperCase(); for (let i = 0; i <= parseInt(n/2); i++) { if (s[i] !== s[-(i+1)]) { return false; } } return true; } // 방법 2: 재귀 /** * * @param s {String} * @returns {boolean} */ function isPalindrome(s) { s = s.toUpperCase(); if (s.length <= 1) { return true; } if (s[0] !== s[s.length - 1]) { return false; } else { return isPalindrome(s.slice(1, -1)); } }
이 두 가지 방법 중:
The text was updated successfully, but these errors were encountered:
No branches or pull requests
문제 설명
문자열이 팰린드롬(회문)인지 판별
📝 제약조건
💡 예시
문제 해결 과정
Step 1: 문제 이해하기
사람이 풀 때는 어떻게 풀까?
→ 양쪽 끝에서부터 하나씩 비교해본다
→ 모든 비교가 같으면 회문이다
→ 하나라도 다르면 회문이 아니다
Step 2: 접근 방법
두 가지 방식으로 접근할 수 있다:
Step 3: 코드 설계
Step 4: 코드 구현
이 두 가지 방법 중:
The text was updated successfully, but these errors were encountered: