문제
16719번: ZOAC
2018년 12월, 처음 시작하게 된 ZOAC의 오프닝을 맡은 성우는 누구보다 화려하게 ZOAC를 알리려 한다. 앞 글자부터 하나씩 보여주는 방식은 너무 식상하다고 생각한 성우는 문자열을 보여주는 새로
www.acmicpc.net
알고리즘
- 재귀 함수를 통해 제일 작은 알파벳의 앞 배열과 뒷 배열을 확인한다.
- answer에 제일 작은 알파벳 위치에 제일 작은 알파벳을 입력하고 "".Join()을 통해 출력한다.
코드
import sys
def solution(s, start):
global answer
# 배열이 없으면 리턴
if not s:
return
# 현재 배열의 제일 작은 알파벳을 찾는다.
target = min(s)
idx = s.index(target)
# answer에 제일 작은 알파벳 위치에 제일 작은 알파벳을 추가.
answer[start + idx] = target
print("".join(answer))
solution(s[idx + 1:], start + idx + 1) # 뒷 배열 확인
solution(s[:idx], start) # 앞 배열 확인
word = list(map(str, sys.stdin.readline().strip()))
answer = [''] * len(word)
solution(word, 0)
github
GitHub - junjange/CodingTest: 내가 푼 코딩 테스트 문제와 해결법
내가 푼 코딩 테스트 문제와 해결법. Contribute to junjange/CodingTest development by creating an account on GitHub.
github.com
'CodingTest > Baekjoon' 카테고리의 다른 글
[baekjoon] 백준 11048번(파이썬): 이동하기 (0) | 2022.06.02 |
---|---|
[baekjoon] 백준 1107번(파이썬): 리모컨 (0) | 2022.05.25 |
[baekjoon] 백준 19583번(파이썬): 싸이버개강총회 (0) | 2022.05.19 |
[baekjoon] 백준 3107번(파이썬): IPv6 (0) | 2022.05.18 |
[baekjoon] 백준 2257번(파이썬): 화학식량 (0) | 2022.05.17 |