문자열 거꾸로 하는 방법은 3가지가 있다.
- 문자열 슬라이싱으로 처리하기
- 문자열을 리스트로 변환하고 reverse() 함수 사용하기
- 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
https://docs.python.org/ko/3/library/functions.html#sorted
'코딩라이브러리 > 파이썬' 카테고리의 다른 글
파이썬 if문 조건 여러개 다중 처리 배열 비교 (with 백준 1330) (0) | 2024.05.21 |
---|---|
파이썬 문자열 formatter string (with 백준 2739) (0) | 2024.05.20 |
파이썬 정수, 실수 형변환 데이터형 확인 (0) | 2024.05.18 |
파이썬 소수점 반올림 올림 round()와 ceil() (with 백준 2033) (0) | 2024.05.17 |
파이썬 소수점 버림 trunc() floor() (with 백준 10869) (0) | 2024.05.15 |