본문 바로가기
코딩라이브러리/파이썬

파이썬 문자열 거꾸로 해보기 (with 백준 1251 6438)

by 유니네 라이브러리 2024. 5. 19.

문자열 거꾸로 하는 방법은 3가지가 있다.

  1. 문자열 슬라이싱으로 처리하기
  2. 문자열을 리스트로 변환하고 reverse() 함수 사용하기
  3. sorted(iterable, reverse=True) 내장함수 사용하기.
    리스트로 반환된다
#1.문자열 슬라이싱으로 처리
var = "abcde"
print(f"문자열뒤집기: {var[::-1]}") #edcba

#2.문자열을 리스트로 변환하고 reverse() 함수 사용하기
#리스트인 경우 reverse() 함수 제공되므로 리스트 변환 후 사용
lst = list(var)
print(f"뒤집기 전: {lst}") #뒤집기 전: ['a', 'b', 'c', 'd', 'e']
#리스트일때는 reverse() 함수 사용
lst.reverse()
print(f"뒤집기 후: {lst}") #뒤집기 후: ['e', 'd', 'c', 'b', 'a']
#문자열 변환
str = "".join(lst)
print(f"문자열변환: {str}") #문자열변환: edcba

#3.sorted() 내장함수 사용하기. 리스트로 반환.
srt = sorted(var, reverse=True)
print(f"sorted 사용: {srt}") #sorted 사용: ['e', 'd', 'c', 'b', 'a']
srts = "".join(srt)
print(f"sorted 문자열변환: {srts}") #sorted 문자열변환: edcba

 

▶ 문자열 reverse (거꾸로) 연습 백준 문제 풀이

https://www.acmicpc.net/problem/6438

no = int(input())
lst = [input() for _ in range(0, no)]

for i in range(0, len(lst)):
    str = lst[i]
    print(str[::-1]) #문자열 슬라이싱으로 처리

 

▶ 문자열 슬라이싱 연습 백준 문제 풀이

https://www.acmicpc.net/problem/1251

"""
단어 : arrested
세 단어로 나누기 : ar / rest / ed
각각 뒤집기 : ra / tser / de
합치기 : ratserde
단어가 주어지면, 이렇게 만들 수 있는 단어 중에서 사전순으로 가장 앞서는 단어를 출력하는 프로그램을 작성
"""
inp = input()
rtnList = []
for i in range(1, len(inp)-1):
    for j in range(i+1, len(inp)):
        fStr = inp[:i]
        sStr = inp[i:j]
        tStr = inp[j:]
        #거꾸로
        rtnList.append(fStr[::-1]+sStr[::-1]+tStr[::-1])
print(min(rtnList))

 

▷ 파이썬 자습서 참고 사이트

https://docs.python.org/ko/3/library/array.html#array.array.reverse

 

array — Efficient arrays of numeric values

This module defines an object type which can compactly represent an array of basic values: characters, integers, floating point numbers. Arrays are sequence types and behave very much like lists, e...

docs.python.org

https://docs.python.org/ko/3/library/functions.html#sorted

 

Built-in Functions

The Python interpreter has a number of functions and types built into it that are always available. They are listed here in alphabetical order.,,,, Built-in Functions,,, A, abs(), aiter(), all(), a...

docs.python.org