홍우진의 개발 일기장

[백준] 1251번: 단어 나누기/ 파이썬 본문

알고리즘/백준

[백준] 1251번: 단어 나누기/ 파이썬

홍우진 2022. 9. 4. 22:03
728x90
반응형

문제 링크


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

 

1251번: 단어 나누기

알파벳 소문자로 이루어진 단어를 가지고 아래와 같은 과정을 해 보려고 한다. 먼저 단어에서 임의의 두 부분을 골라서 단어를 쪼갠다. 즉, 주어진 단어를 세 개의 더 작은 단어로 나누는 것이다

www.acmicpc.net

 

풀이 코드


import sys

word = list(map(str, sys.stdin.readline().rstrip("\n")))
res = []

for i in range(1, len(word) - 1):
    for j in range(i + 1, len(word)):
        first = word[:i]
        second = word[i:j]
        third = word[j:] 

        first.reverse()
        second.reverse()
        third.reverse()

        res.append("".join(first + second + third))

print(min(res))

코드 해석


문자열을 입력 받은 뒤 3개로 나누고 뒤집어서 조합하여 각각 리스트에 저장한다.

그 후 사전순으로 가작 작은 단어를 출력한다.

728x90
반응형
Comments