파이썬의 리스트 자료형은 다양한 형태로 활용할 수 있다.
알고리즘의 기본이 되는 문자열 메소드, 반복문, 그리고 조건문 등을 활용해 몇 가지 프로그래밍을 알아본다.
팰린드롬이란, 앞에서부터 읽으나 뒤에서부터 읽으나 같은 단어 및 문장을 말한다.
def ispalindrome(s):
return_numbers = []
for char in s:
if char.isalnum():
return_numbers.append(char.lower())
while len(return_numbers) > 1:
if return_numbers.pop(0) != return_numbers.pop():
return False
return True
# input: 'AbdBa'
test_string = input()
print(ispalindrome(test_string))
# True
def reverse_string(strtest):
#0번째부터 마지막 원소까지 => len()-1 = 마지막 원소 인덱스
left, right = 0, len(strtest) - 1
while left < right:
strtest[left], strtest[right] = strtest[right], strtest[left] #문자 위치 변경
left += 1 #인덱스 하나씩 증가
right -= 1 #인덱스 하나씩 감소
return strtest
strtest = ['a','b','c','d','e','f']
print(reverse_string(strtest))
# ['f', 'e', 'd', 'c', 'b', 'a']
리스트 메서드는 특정값을 반환하지 않고, 단순히 문자열을 뒤집어주는 기능만 한다.
따라서, 기능을 print를 하면 함수에 대한 print이기 때문에 None이 출력된다.
strtest = ['a','b','c','d','e','f']
strtest.reverse()
print(strtest)
# ['f', 'e', 'd', 'c', 'b', 'a']
strtest = ['a','b','c','d','e','f']
print(strtest)
# ['a', 'b', 'c', 'd', 'e', 'f']
print(list(reversed(strtest)))
# ['f', 'e', 'd', 'c', 'b', 'a']
print(tuple(reversed(strtest)))
# ('f', 'e', 'd', 'c', 'b', 'a')
print(strtest)
# ['a', 'b', 'c', 'd', 'e', 'f']
created on Nov 22, 2021
- 글 작성