์ฒจ์ ๋จ์ํ ์ํ๋ฒณ ์์๊ฐ ๋น ๋ฅธ๊ฑฐ๋ถํฐ ์ฐจ๋ก๋๋ก ์ถ๋ ฅํ๋ฉด ๋๋ ๊ฑฐ๋ผ๊ณ ์๊ฐํ๋๋ฐ ๋ฌธ์์ด์ด ์ฌ์ ์์ผ๋ก ์์ ์ค๋๋ก ์ถ๋ ฅํด์ผ ๋๋ ๊ฑฐ์๋ค.
- ์์์๋ถํฐ ์์๊ฐ ๊ฐ์ฅ ๋น ๋ฅธ ์ํ๋ฒณ์ ์ฐพ๋๋ค
- ์ํ๋ฒณ์ ์ฐพ์์ผ๋ฉด ์ถ๋ ฅํ๊ณ , ๊ทธ ์ํ๋ฒณ ๋ค์ ์์์ ์๋ ๋จ์ด๋ค ์ค์์ ๊ฐ์ฅ ๋น ๋ฅธ ์ํ๋ฒณ์ ์ฐพ๋๋ค
- ๋ค์ ๋ ์ด์ ์ฐพ์ ์ํ๋ฒณ์ด ์กด์ฌํ์ง ์์ผ๋ฉด ์์ผ๋ก ๊ฐ๋ค
๋น ๋ฅธ ์ํ๋ฒณ์ ์ฐพ๊ณ ๊ทธ ๋ค์๋ถํฐ ๋ ๋น ๋ฅธ ์ํ๋ฒณ์ ์ฐพ๋ ์ด์ ๋, ์ฌ์ ์์ผ๋ก ๋ฌธ์๋ฅผ ๋์ดํ๊ธฐ ์ํด์ ๊ทธ ๋น ๋ฅธ ์ํ๋ฒณ์ด ๊ฐ์ฅ ์์ ์์ด์ผ ํ๊ธฐ ๋๋ฌธ์ด๋ค. ๊ทธ๋์ ๊ทธ ์ํ๋ฒณ ๋ค์ ์๋ ๋ฌธ์๋ค์ ์ฌ์ ์์๋๋ก ์ฐพ๊ณ , ๊ทธ ๋ค์์ ์ ๋ง ๋ ์ด์ ์ฐพ์ ์๊ฐ ์๋ค๋ฉด ๊ทธ ๊ฐ์ฅ ๋น ๋ฅธ ์ํ๋ฒณ ์ด์ ์ ๋ฌธ์๋ค์ ์ฐพ๋๋ค.
์ผ๋จ ๋ฌธ์์ด ๊ธธ์ด ๋งํผ์ ๊ธธ์ด๋ฅผ ๊ฐ์ง๋ฉด์ ๋น ๊ณต๋ฐฑ('')์ ๊ฐ์ง๋ ans๋ผ๋ ๋ฆฌ์คํธ๋ฅผ ํ๋ ๋ง๋ ๋ค. ์์์๋ถํฐ ์ํ๋ฒณ์ ์ฐพ๊ณ , ์ฐพ์์ผ๋ฉด ๊ทธ ๋ค๋ถํฐ ์ฐพ๊ณ , ์ด ๋ฐฉ์์ ์ฌ๊ท๋ก ํ ์๊ฐ์ ๋ชปํ๊ณ ๋ฐ๋ณต๋ฌธ์ผ๋ก ํ ์๊ฐ์ ํ๋๋ฐ, left์ right๋ก ๋๋์ด์ ๋ค์ ๋ ์ฐพ์ ๋ฌธ์๊ฐ ์์ผ๋ฉด right ํจ์๋ฅผ, ๋ค์ ๋ ์ฐพ์ ๊ฒ ์์ผ๋ฉด left๋ฅผ ํ๋ ค๊ณ ํ๋๋ฐ ์ธ๋ฑ์ค ์ฒ๋ฆฌ๊ฐ ๋๋ฌด ๋ณต์กํ๋ค.
๋ฌธ์ ๋ถ๋ฅ๋ฅผ ๋ณด๋ ์ฌ๊ท๋ก ๋ถ๋ฅ๋์ด ์์ด์ ์ฌ๊ท๋ก ํ๋ ๋ฐฉ์์ ๋ค์ ์๊ฐํด๋ดค๋ค. ์ผ๋จ ์ ค ๋น ๋ฅธ ์ํ๋ฒณ์ ์ฐพ๊ณ , ์ฐพ์๋ค๋ฉด ์ถ๋ ฅํ๊ณ ์ฌ๊ท๋ก ๊ทธ ๋ค์ ์ธ๋ฑ์ค๋ถํฐ ์ ค ๋น ๋ฅธ ์ํ๋ฒณ์ ์ฐพ๋๋ค. ์ด๊ฑธ ๋ฐ๋ณตํ๋ค๊ฐ ๋ ์ด์ 1. ๋ค์ ๋ฌธ์๊ฐ ์กด์ฌํ์ง ์๊ฑฐ๋, 2. ๋ฌธ์๋ฅผ ๋ค ์ฐพ์์ ๋ ์ฐพ์ ๋ฌธ์๊ฐ ์๋ค๋ฉด return ํ๋ค. ๊ทธ๋ผ ์ฒจ์ผ๋ก ๋๋์์์ ๊ฑฐ๊ธฐ์๋ถํฐ ์ ค ๋น ๋ฅธ ์ํ๋ฒณ์ ์ฐพ๊ธฐ ์์ํ๋ ๊ทธ ์ธ๋ฑ์ค๋ก ๋๋์์์ ๋ ๋ฒ์งธ๋ก ๋น ๋ฅธ ์ํ๋ฒณ์ ์ฐพ๊ฒ ๋๊ณ ์์ ๋ฐฉ๋ฒ์ ๋ฐ๋ณตํ๊ฒ ๋๋ค.
STARTLINK๋ฅผ ์๋ก ๋ค๋ฉด A๋ฅผ ๋จผ์ ์ฐพ๊ณ , A ์ดํ์ ๋ชจ๋ ๋ฌธ์๋ค์ ์ถ๋ ฅํ๋ค๋ฉด ARTLINK์ธ ์ํ๊ฐ ๋๋ค. A๋ฅผ ์ฐพ์ ์ธ๋ฑ์ค๋ 0๋ถํฐ ์์ํด์ ์ฐพ์ ๊ฒ์ด๋ฏ๋ก(๊ฐ์ฅ ์ฒ์์ ์ฐพ์์ผ๋๊น) ๋ ์ด์ ์ฐพ์ ๋ฌธ์๊ฐ ์์ผ๋ฉด return ํด์ ์์ ์ธ๋ฑ์ค๊ฐ 0์ธ ์ํ๋ก ๋๋์์ค๋ ๊ฒ์ด๋ค. ๊ทธ๋ผ ๋ค์ 0๋ถํฐ ๋น ๋ฅธ ๋ฌธ์๋ฅผ ์ฐพ๊ฒ ๋๋๋ฐ ์ ค ๋นจ๋๋ A ์ดํ์ ๋ฌธ์๋ ์ด๋ฏธ ๋ค ์๊ธฐ ๋๋ฌธ์ ๊ทธ ๋๋จธ๊น์ง ํ์ํ์ง ์๊ณ , ๋ ๋ฒ์งธ๋ก ๋น ๋ฅธ ๋ฌธ์์ธ S๋ฅผ ์ฐพ๊ฒ ๋๋ค.
# 40ms
string = input()
L = len(string)
ans = ['']*L
def search(i):
global ans
minOrd, idx = 150, -1
for k in range(i, L):
if ans[k] != '':
return idx
if ord(string[k]) < minOrd:
minOrd = ord(string[k])
idx = k
return idx
def zoac(i):
while True:
idx = search(i+1)
if idx == -1:
return
ans[idx] = string[idx]
print(''.join(ans))
zoac(idx)
zoac(-1)
์ฌ๊ท ๋๋ฌด ์ด๋ ต๋ค
๋ฌธ์ ์ฒ์ ๋ณด๊ณ ๊ณจ๋5๊ธ์ธ๊ฐ? ์๊ฐํ๋๋ฐ ํธ๋๋ฐ ์ดํ๊ฑธ๋ ธ์ผ๋๊น ๊ณจ๋5 ๋ง๋๋ฏ