[๋ฐฑ์ค€] 16719 ZOAC

cheeeeseยท2022๋…„ 8์›” 19์ผ
0

์ฝ”๋”ฉํ…Œ์ŠคํŠธ ์—ฐ์Šต

๋ชฉ๋ก ๋ณด๊ธฐ
134/151
post-thumbnail

๐Ÿ“– ๋ฌธ์ œ

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

๐Ÿ’ป ๋‚ด ์ฝ”๋“œ

๋ฌธ์ œ ์ž์ฒด๋ฅผ ๊ณ„์† ์ž˜๋ชป ์ดํ•ดํ•ด์„œ ๋‹ค๋ฅธ ์‚ฌ๋žŒ ์ฝ”๋“œ์™€ ํ’€์ด ์ฐธ๊ณ 

s=input()

res=['']*len(s)

def zoac(word, start):

    if not word: # ๋ฆฌ์ŠคํŠธ๊ฐ€ ๋น„์—ˆ๋‹ค๋ฉด return
        return

    minV=min(word) # ์‚ฌ์ „์ˆœ์œผ๋กœ ๊ฐ€์žฅ ์•ž์— ์žˆ๋Š” ์•ŒํŒŒ๋ฒณ
    idx=word.index(minV) # ๊ทธ ์•ŒํŒŒ๋ฒณ์˜ ์ธ๋ฑ์Šค
    res[start+idx]=minV # ์ธ๋ฑ์Šค์˜ ์œ„์น˜์— ์•ŒํŒŒ๋ฒณ ์ €์žฅ
    # word๋Š” ์žฌ๊ท€ํ•จ์ˆ˜๋ฅผ ์‹คํ–‰ํ•˜๊ฒŒ ๋˜๋ฉด ํ˜„์žฌ ์œ„์น˜๋ถ€ํ„ฐ ๋๊นŒ์ง€, ์ฒ˜์Œ ์œ„์น˜๋ถ€ํ„ฐ ๋๊นŒ์ง€์˜ ๋ฌธ์ž๊ฐ€ ๋œ๋‹ค
    # ๋ฌธ์ž์—ด ์ž์ฒด์˜ index๋ฅผ ์ฃผ๋ฉด ๋ฆฌ์ŠคํŠธ์˜ ๋ฒ”์œ„๋ฅผ ๋ฒ—์–ด๋‚˜๊ฒŒ ๋œ๋‹ค
    # ๋”ฐ๋ผ์„œ ์‹œ์ž‘ ์œ„์น˜๋ฅผ ์ธ์ž๋กœ ๋„˜๊ฒจ์ฃผ์–ด ํ•จ๊ผ ๋”ํ•ด์ฃผ์–ด์•ผ ํ•œ๋‹ค
    print(''.join(res))
    zoac(word[idx+1:], start+idx+1) # ํ˜„์žฌ ์œ„์น˜๋ถ€ํ„ฐ ๋๊นŒ์ง€ ํƒ์ƒ‰
    zoac(word[:idx], start)# ๋ชจ๋‘ ํƒ์ƒ‰ํ–ˆ๋‹ค๋ฉด ์•ž๋ถ€๋ถ„์ธ ์ฒ˜์Œ๋ถ€ํ„ฐ ํ˜„์žฌ์œ„์น˜๊นŒ์ง€ ํƒ์ƒ‰
zoac(s,0)

๐Ÿ’ก ํ’€์ด

  • ์ฃผ์„์œผ๋กœ ์จ๋‘ 
  • ์žฌ๊ท€ํ•จ์ˆ˜ ์ด์šฉ

0๊ฐœ์˜ ๋Œ“๊ธ€