๋จ์ด ๋๋๊ธฐ (Silver 5)
์ํ๋ฒณ ์๋ฌธ์๋ก ์ด๋ฃจ์ด์ง ๋จ์ด๋ฅผ ๊ฐ์ง๊ณ ์๋์ ๊ฐ์ ๊ณผ์ ์ ํด ๋ณด๋ ค๊ณ ํ๋ค.
๋จผ์ ๋จ์ด์์ ์์์ ๋ ๋ถ๋ถ์ ๊ณจ๋ผ์ ๋จ์ด๋ฅผ ์ชผ๊ฐ ๋ค. ์ฆ, ์ฃผ์ด์ง ๋จ์ด๋ฅผ ์ธ ๊ฐ์ ๋ ์์ ๋จ์ด๋ก ๋๋๋ ๊ฒ์ด๋ค. ๊ฐ๊ฐ์ ์ ์ด๋ ๊ธธ์ด๊ฐ 1 ์ด์์ธ ๋จ์ด์ฌ์ผ ํ๋ค. ์ด์ ์ด๋ ๊ฒ ๋๋ ์ธ ๊ฐ์ ์์ ๋จ์ด๋ค์ ์๋ค๋ฅผ ๋ค์ง๊ณ , ์ด๋ฅผ ๋ค์ ์๋์ ์์๋๋ก ํฉ์น๋ค.
์๋ฅผ ๋ค์ด,
- ๋จ์ด : arrested
- ์ธ ๋จ์ด๋ก ๋๋๊ธฐ : ar / rest / ed
- ๊ฐ๊ฐ ๋ค์ง๊ธฐ : ra / tser / de
- ํฉ์น๊ธฐ : ratserde
๋จ์ด๊ฐ ์ฃผ์ด์ง๋ฉด, ์ด๋ ๊ฒ ๋ง๋ค ์ ์๋ ๋จ์ด ์ค์์ ์ฌ์ ์์ผ๋ก ๊ฐ์ฅ ์์๋ ๋จ์ด๋ฅผ ์ถ๋ ฅํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์์ค.
์ ๋ ฅ
์ฒซ์งธ ์ค์ ์์ด ์๋ฌธ์๋ก ๋ ๋จ์ด๊ฐ ์ฃผ์ด์ง๋ค. ๊ธธ์ด๋ 3 ์ด์ 50 ์ดํ์ด๋ค.
์ถ๋ ฅ
์ฒซ์งธ ์ค์ ๊ตฌํ๊ณ ์ ํ๋ ๋จ์ด๋ฅผ ์ถ๋ ฅํ๋ฉด ๋๋ค.
์์ ์ ๋ ฅ 1
mobitel
์์ ์ถ๋ ฅ 1
bometil

์ฐ์ input์ผ๋ก ๋ฆฌ์คํธ์ ๋จ์ด๋ฅผ ์ ๋ ฅ๋ฐ์๋ค.
๊ทธ ๋ค์ ๋จ์ด๋ฅผ for๋ฌธ์ ์ฌ์ฉํด์ ๋จ์ด๋ฅผ ์ธ ๋ถ๋ถ์ผ๋ก ๋๋๊ณ , ๊ฐ๊ฐ์ ๋๋์ด์ง ์ธ ๋ถ๋ถ์ reverse๋ฅผ ์ฌ์ฉํด์ ๋ค์ง์ด์คฌ๋ค.
์ธ๋ถ๋ถ์ผ๋ก ๋๋ ๋จ์ด๋ค์ ํฉ์ณ์ new_word ๋ฐฐ์ด์ ์ถ๊ฐํด์ฃผ์๊ณ , ์ด๋ฅผ ๋ค์ result๋ผ๋ ์๋ก์ด ๋ฐฐ์ด์ ์ถ๊ฐํด์ฃผ์๋ค, ๊ทธ ๋ค์ ์ฌ์ ์์ผ๋ก ๊ฐ์ฅ ์์๋ ๋จ์ด๋ฅผ ์ถ๋ ฅํด์ผ ํ๊ธฐ ๋๋ฌธ์ sorted๋ฅผ ์ฌ์ฉํ๊ณ , ์ธ๋ฑ์ค 0๋ฒ์ ์ถ๋ ฅํด์ฃผ์๋ค.

new_word ๋ฐฐ์ด์ ์ถ๊ฐํด์ฃผ๊ณ ๋ฐ๋ก sorted๋ฅผ ํ๊ณ ์ธ๋ฑ์ค 0๋ฒ์ ์ถ๋ ฅํด์ฃผ๋ฉด ๋ค์๊ณผ ๊ฐ์ด ๋ฐ์ดํ์ ๋ฌถ์ฌ์ง ํํ๋ก ์ถ๋ ฅ์ด ๋๊ธฐ ๋๋ฌธ์ join์ ์ฌ์ฉํด์ '', ์ฆ ๋ฐ์ดํ ์ฌ์ด์ ๋ค์ด๊ฐ ๋ฌธ์์ด๋ง ํฉ์ณ์ฃผ์ด result ๋ฐฐ์ด์ ๋ค์ ์ ์ฅํด์ฃผ์๋ค.
word = list(input())
result = []
new_word = []
for i in range(1, len(word) - 1):
for j in range(i + 1, len(word)):
first = word[:i] # ์ธ ๋จ์ด๋ก ๋๋๊ธฐ
second = word[i:j]
third = word[j:]
first.reverse() # ๊ฐ๊ฐ ๋ค์ง๊ธฐ
second.reverse()
third.reverse()
new_word.append(first + second + third) # ํฉ์น๊ธฐ
for word in new_word:
result.append(''.join(word)) # ํฉ์น ๋จ์ด ์๋ก์ด ๋ฐฐ์ด์ ์ถ๊ฐ
print(sorted(result)[0]) # ์ฌ์ ์์ผ๋ก ๊ฐ์ฅ ์์๋ ๋จ์ด ์ถ๋ ฅ

'๋ฐฑ์ค > Python' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
| [Python] ๋ฐฑ์ค 1158 (0) | 2022.10.04 |
|---|---|
| [Python] ๋ฐฑ์ค 2161 (0) | 2022.10.04 |
| [Python] ๋ฐฑ์ค 1475๋ฒ (0) | 2022.07.04 |
| [Python] ๋ฐฑ์ค 1427๋ฒ (0) | 2022.07.04 |
| [Python] ๋ฐฑ์ค 11866๋ฒ (0) | 2022.07.04 |