rueki

BOJ 1251. 단어나누기(구현, Greedy) 본문

python

BOJ 1251. 단어나누기(구현, Greedy)

륵기 2022. 10. 3. 15:37
728x90
반응형

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

 

1251번: 단어 나누기

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

www.acmicpc.net

- 최소 단어 길이는 1 이상이어야함

- 이중반복문에서 첫 반복문 인덱스는 끝까지 가지 않고 전체 단어 길이에서 1을 뺀다

- 내부 반복문의 경우에는 앞에서 +1 한 인덱스부터 시작한다

- 첫단어는 apple을 예시로 들때 a로 시작, 두번째는 p 세번째는 ple

- 그다음 반복문을 계속 돌면서 단어 길이를 조금씩 늘려가며 비교

word = list(input())


result = []

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

        first.reverse()
        sec.reverse()
        third.reverse()

        result.append(''.join(first + sec + third))

print(sorted(result)[0])
728x90
반응형

'python' 카테고리의 다른 글

BOJ 2018. 수들의 합 5 (투 포인터)  (1) 2022.10.04
BOJ 3190. 뱀 (시뮬레이션)  (1) 2022.10.03
BOJ 1713. 후보 추천하기(구현)  (0) 2022.10.03
BOJ 1531. 투명 (구현)  (0) 2022.10.02
BOJ 1931. 회의실 배정(Greedy)  (1) 2022.10.01
Comments