16719번: ZOAC
2018년 12월, 처음 시작하게 된 ZOAC의 오프닝을 맡은 성우는 누구보다 화려하게 ZOAC를 알리려 한다. 앞 글자부터 하나씩 보여주는 방식은 너무 식상하다고 생각한 성우는 문자열을 보여주는 새로
www.acmicpc.net
재귀를 통해 작은 알파벳을 선택한다.
- 정답을 출력할 result 배열을 만든다.
- arr에서 제일 작은 알파벳을 찾는다.
- 해당 알파벳을 기준으로 뒷배열에서 또 작업을 한 뒤, 앞배열에서 작업을 한다.
import sys
input = sys.stdin.readline
S = list(input().rstrip())
result = ['']*len(S)
def func(arr, start):
if not arr:
return
_min = min(arr)
idx = arr.index(_min)
result[start+idx] = _min
print("".join(result))
func(arr[idx+1:], start+idx+1)
func(arr[:idx], start)
func(S, 0)
'개발 > 알고리즘' 카테고리의 다른 글
[백준 2224] 명제 증명 (python) (0) | 2021.07.12 |
---|---|
[백준 2638] 치즈 (python) (0) | 2021.06.02 |
[백준 9934] 완전 이진 트리 (python) (0) | 2021.05.31 |
[백준 9470] Strahler 순서 (python) (0) | 2021.05.31 |
[백준 15918] 랭퍼든 수열쟁이야!! (python) (0) | 2021.05.30 |
최근댓글