solution
임의의 두 부분 → 조합(combinations)
문자열 reverse → [string][::-1]
# 1251, 단어 나누기
import sys
from itertools import combinations
s = sys.stdin.readline().rstrip()
candidates = [i for i in range(1, len(s))]
comb_candidates = list(combinations(candidates, 2))
res = "z"*len(s) # 사전에서 가장 뒤에 오는 문자열 임의로 설정
for comb_candidate in comb_candidates:
split1, split2 = comb_candidate[0], comb_candidate[1]
# [::-1] 문자열 reverse
temp1 = s[:split1][::-1]
temp2 = s[split1:split2][::-1]
temp3 = s[split2:][::-1]
temp = temp1 + temp2 + temp3
if temp < res:
res = temp
print(res)
문제 출처 www.acmicpc.net/problem/1251
'알고리즘 > 구현' 카테고리의 다른 글
자바 | 백준 | 1259 | 팰린드롬수 (0) | 2021.01.20 |
---|---|
파이썬 | 백준 | 3985 | 롤 케이크 | array.index (0) | 2020.12.30 |
파이썬 | 백준 | 1173 | 운동 (0) | 2020.12.01 |
파이썬 | 백준 | 16918 | 봄버맨 (0) | 2020.11.25 |
파이썬 | 백준 | 1744 | 수 묶기 (0) | 2020.11.17 |