파이썬의 리스트 자료형은 다양한 형태로 활용할 수 있다.

알고리즘의 기본이 되는 문자열 메소드, 반복문, 그리고 조건문 등을 활용해 몇 가지 프로그래밍을 알아본다.

1. Palindrom(팰린드롬 - 회문)

팰린드롬이란, 앞에서부터 읽으나 뒤에서부터 읽으나 같은 단어 및 문장을 말한다.

  • 인싸 의사의 싸인
  • 소주 만 병만 주소
  • 요기요
  • 찰진 의사의 진찰
  • etc..
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

2. 문자열 뒤집기

2.1. 반복문과 조건문, 대입개념 활용

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']

2.2. 리스트 메서드 활용 - reverse()

리스트 메서드는 특정값을 반환하지 않고, 단순히 문자열을 뒤집어주는 기능만 한다.
따라서, 기능을 print를 하면 함수에 대한 print이기 때문에 None이 출력된다.

strtest = ['a','b','c','d','e','f']
strtest.reverse()

print(strtest)
# ['f', 'e', 'd', 'c', 'b', 'a']

2.3. 파이썬 내장함수 활용

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

  • 글 작성

0개의 댓글