티스토리 뷰

728x90

 

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

 

2993번: 세 부분

첫째 줄에 원섭이가 고른 단어가 주어진다. 고른 단어는 알파벳 소문자로 이루어져 있고, 길이는 3보다 크거나 같고, 50보다 작거나 같다.

www.acmicpc.net

 

3등분으로 나누어서 파이썬의 경우 [::-1]

자바의 경우 StringBuilder를 이용해 reverse 메소드를 사용하여 각 문자열을 뒤집은 다음 합칩니다.

그렇게 만들어진 문자열을 정렬하여 리스트에 저장한 뒤, 가장 앞에 오는 문자열을 출력하면 됩니다.

 

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
import sys
word = sys.stdin.readline().rstrip()
 
lst = []
for i in range(len(word)-2):
    for j in range((i+1), len(word)-1):
        for k in range((j+1), len(word)):
            if len(word) == len(word[i:j] + word[j:k] + word[k:]):
                a = word[i:j]
                b = word[j:k]
                c = word[k:]
                lst.append([a[::-1]+b[::-1]+c[::-1]])
lst.sort()
print(''.join(lst[0]))
cs

 

'코딩 > 파이썬 백준' 카테고리의 다른 글

프로그래머스 모의고사 (level : 1)  (0) 2021.11.25
프로그래머스 더 맵게 (Level : 2)  (0) 2021.11.23
백준 4796 캠핑  (0) 2021.10.11
백준 9733 꿀벌 (파이썬)  (0) 2021.10.11
프로그래머스 프린터(level : 2)  (0) 2021.10.11
댓글