알고리즘/완전탐색
[백준][Python] 1251번 단어 나누기
임짠짠
2022. 7. 21. 11:41
반응형
1251번: 단어 나누기
알파벳 소문자로 이루어진 단어를 가지고 아래와 같은 과정을 해 보려고 한다. 먼저 단어에서 임의의 두 부분을 골라서 단어를 쪼갠다. 즉, 주어진 단어를 세 개의 더 작은 단어로 나누는 것이다
www.acmicpc.net
코드
word = input()
ans_list = []
for i in range(1,len(word)-1):
ans = []
for j in range(i+1,len(word)):
ans = ((word[0:i:])[::-1])+((word[i:j:])[::-1])+((word[j::])[::-1])
ans_list.append(ans)
ans_list.sort()
print(ans_list[0])
설명
단어를 3개로 나눌 수 있는 모든 경우의 수를 확인했다.
word[0:i:], word[i:j:], word[j::]로 문자열을 3개로 나누고 [ : :-1]으로 뒤집어 준 후 3개를 하나로 합쳐줬다. 합친 단어는 ans_list에 넣어주었고 for문을 빠져나왔을 때 ans_list를 알파벳 순으로 정렬을 해서 가장 첫 번째 요소를 출력해줬다.
반응형