Notice
Recent Posts
Recent Comments
Link
오늘도 개발
파이썬 코딩 도장 - Palindrome 검사하기 본문
python
1. 문자열 앞쪽, 끝쪽에서 가운데로 비교해나가는 방법
인덱스 i, j 사용
word = 'madame'
isPalindrome = True
i = 0
j = len(word) - 1
while(i <= j):
if (word[i] != word[j]):
isPalindrome = False
break
i += 1
j -= 1
print(isPalindrome)
파이썬의 마이너스 인덱스 사용
word = 'madame'
isPalindrome = True
for i in range(len(word) // 2):
if word[i] != word[-1 - i]:
isPalindrome = False
break
print(isPalindrome)
2. 시퀀스 뒤집기로 검사하는 방법
word = 'madame'
print(word == word[::-1])
word = 'madame'
print(list(word) == list(reversed(word)))
3. 재귀함수로 검사하는 방법
def is_palindrome(word):
if len(word) < 2:
return True
if word[0] != word[-1]:
return False
return is_palindrome(word[1:-1])
c++
1. 새 문자열 만들고 기존 문자열 reverse 복사 후, 기존 문자열과 일치하는지 확인하는 방법
2. 새 문자열 만들 필요 x. 첫글자, 끝글자 일치하는지 하나씩 확인하는 방법
// 2번 방법
char A[] = "madam";
int length = 5;
int palindrome = 1;
for (int i = 0, j = length-1; i <= j; i++, j--){
if (A[i] != A[j]){
palindrome = 0;
break;
}
}
printf("%i\n", palindrome);'자료구조 & 알고리즘 > Leetcode' 카테고리의 다른 글
| 1. Find Numbers with Even Number of Digits (0) | 2022.05.06 |
|---|---|
| 0. Max Consecutive Ones (0) | 2022.05.06 |
| 파이썬 코딩 도장 - 지뢰 찾기(23.7) (0) | 2022.04.10 |
| 파이썬 코딩 도장 - FizzBuzz (0) | 2022.04.08 |
| 파이썬 코딩 도장 - 계단식으로 별 출력하기 (0) | 2022.04.08 |