๋ฐฑ์ค€

[๋ฐฑ์ค€-Python] ๋‹จ์–ด ๋‚˜๋ˆ„๊ธฐ : 1251๋ฒˆ

Yuuuki 2024. 6. 12. 19:55

๐Ÿฅˆ Silver5

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

 

 

import sys
from itertools import combinations

input = sys.stdin.readline
word = list(input().strip())
word_length = len(word)

result = set()

for i in range(1, word_length - 1):
    for j in range(i+1, word_length):
        first = word[:i]
        sec = word[i:j]
        thrid = word[j:]

        # reverse
        first.reverse()
        sec.reverse()
        thrid.reverse()

        # ํ•ฉ์น˜๊ธฐ
        result.add("".join(first+sec+thrid))
print(sorted(result)[0])

# 31120	44

์ด ๋ฌธ์ œ๋Š” ๊ธธ์ด๊ฐ€ 1์ด์ƒ์œผ๋กœ 3๋ถ€๋ถ„์œผ๋กœ ๋‚˜๋ˆ„๊ณ , ๋’ค์ง‘์–ด์„œ ํ•ฉ์น˜๊ณ  ์‚ฌ์ „์ˆœ ์ •๋ ฌ๋กœ ๊ฐ€์žฅ ์ฒซ๋ฒˆ์งธ ์š”์†Œ๋งŒ ์ฐพ์œผ๋ฉด ๋˜๊ธฐ ๋•Œ๋ฌธ์—,

3๋ถ€๋ถ„์œผ๋กœ ๋‹จ์–ด๋ฅผ ๋‚˜๋ˆ„๋Š” ๋ถ€๋ถ„์„ ์ œ์™ธํ•˜๊ณค ์–ด๋ ต์ง€ ์•Š์€ ๋ฌธ์ œ๋‹ค.

 

์ฒ˜์Œ์— ์•„๋ฌด์ƒ๊ฐ ์—†์ด 1์ด์ƒ์œผ๋กœ ๋‚˜๋ˆ„๋Š”๊ฒƒ์„ combinations๊ฐ™์€ ์กฐํ•ฉ์„ ์‚ฌ์šฉํ•ด์•ผ๊ฒ ๋‹ค๊ณ  ์ƒ๊ฐํ–ˆ๋Š”๋ฐ, ์กฐํ•ฉ์€ 1๊ฐœ์”ฉ ๋ฝ‘์•„์„œ ๋งŒ๋“ค์–ด์ฃผ๊ธฐ ๋•Œ๋ฌธ์— ์‚ฌ์šฉํ•  ์ˆ˜ ์—†์—ˆ๋‹ค. 

3๊ฐ€์ง€์˜ ๊ฒฝ์šฐ๋กœ ๋‚˜๋ˆ„๊ธฐ ์œ„ํ•ด ์ด์ค‘ for๋ฌธ์„ ์‚ฌ์šฉํ•ด, i ํฌ์ธํ„ฐ์™€ j ํฌ์ธํ„ฐ๋กœ, j๋ฅผ i๋‹ค์Œ ์š”์†Œ๋ถ€ํ„ฐ ๋งจ ๋งˆ์ง€๋ง‰ ์š”์†Œ๋ฅผ ์ œ์™ธํ•œ (i+1, word_length) ๋ฒ”์œ„๋‚ด์—์„œ ๊ฒฝ์šฐ๋ฅผ ๋งŒ๋“ค์–ด ๋‚˜๊ฐ„๋‹ค. 

first = iํฌ์ธํ„ฐ๊ฐ€ ๊ฐ€๋ฆฌํ‚ค๋Š” ๊ณณ๊นŒ์ง€

sec=i ํฌ์ธํ„ฐ ์ดํ›„๋ถ€ํ„ฐ jํฌ์ธํ„ฐ๊ฐ€ ๊ฐ€๋ฆฌํ‚ค๋Š”๊ณณ ๊นŒ์ง€

thrid=jํฌ์ธํ„ฐ ์ดํ›„ ๋‚˜๋จธ์ง€

 

 

๋ณ„๋กœ ์–ด๋ ค์›Œ๋ณด์ด์ง€ ์•Š๋Š”๋ฐ ์ด 3๋ถ€๋ถ„์œผ๋กœ ๋‚˜๋ˆ„๋Š”๊ฒŒ ์–ด๋ ค์› ๋‹ค..๐Ÿ˜ข