본문 바로가기

Python(알고리즘,문제풀이)/BOJ(Silver V)

백준 / 1251번 / 단어 나누기 / Python / 구현,문자열,브루트포스알고리즘,정렬

728x90

📚문제

출처 : 백준 1251번(https://www.acmicpc.net/problem/1251)


📝풀이

# 1251번 단어 나누기(Silver V)
word = input()
ans = []

for i in range(1,len(word)-1):
    for j in range(i+1,len(word)):
        a = word[:i][::-1]
        b = word[i:j][::-1]
        c = word[j:][::-1]
        ans.append(a+b+c)
print(sorted(ans)[0])

다른 것보다

임의로 세 부분을 나누는 부분에서 좀 고민했는데

 

이중 for문을 활용해

브루트포스 알고리즘으로

전부 구했다

 

다행히 단어의 길이가 50까지기도하고

3부분으로만 나누는거라

이중 for문을 활용해도 시간초과에 걸리지 않는다

728x90