๐Ÿ—๏ธ Algorithm/๐ŸŸฉ ๋ฐฑ์ค€

๐ŸŸฉ [๋ฐฑ์ค€] [Python] [Silver3] 1213๋ฒˆ_ํŒฐ๋ฆฐ๋“œ๋กฌ ๋งŒ๋“ค๊ธฐ

Dbswnstjd 2023. 4. 4. 15:25

๋ฌธ์ œ

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

 

1213๋ฒˆ: ํŒฐ๋ฆฐ๋“œ๋กฌ ๋งŒ๋“ค๊ธฐ

์ฒซ์งธ ์ค„์— ๋ฌธ์ œ์˜ ์ •๋‹ต์„ ์ถœ๋ ฅํ•œ๋‹ค. ๋งŒ์•ฝ ๋ถˆ๊ฐ€๋Šฅํ•  ๋•Œ๋Š” "I'm Sorry Hansoo"๋ฅผ ์ถœ๋ ฅํ•œ๋‹ค. ์ •๋‹ต์ด ์—ฌ๋Ÿฌ ๊ฐœ์ผ ๊ฒฝ์šฐ์—๋Š” ์‚ฌ์ „์ˆœ์œผ๋กœ ์•ž์„œ๋Š” ๊ฒƒ์„ ์ถœ๋ ฅํ•œ๋‹ค.

www.acmicpc.net

ํ’€์ด

# ๋ฐฑ์ค€ 1213๋ฒˆ ๋ฌธ์ œ - ํŒฐ๋ฆฐ๋“œ๋กฌ ๋งŒ๋“ค๊ธฐ
from collections import Counter

word = list(input())
check = Counter(word)

word.sort()

cnt = 0
center = ''
for i in check:
    if check[i] % 2 != 0:
        cnt += 1
        center += i
        word.remove(i)
    if cnt > 1:
        break

if cnt > 1:
    print("I'm Sorry Hansoo")
else:
    answer = ''
    for i in range(0, len(word), 2):
        answer += word[i]
    print(answer + center + answer[::-1])

ํŒฐ๋ฆฐ๋“œ๋กฌ์ด๋ž€ ๊ฑฐ๊พธ๋กœ ํ•ด๋„ ๋˜‘๊ฐ™์€ ๊ฐ’์„ ๊ฐ€์ง€๋Š” ๋‹จ์–ด์ด๋‹ค. 

์ฒ˜์Œ์— defaultdict๋ฅผ ์‚ฌ์šฉํ• ๊นŒ ๊ณ ๋ฏผํ–ˆ์ง€๋งŒ ์‚ฌ์šฉํ•˜์ง€ ์•Š๊ณ  ๋ฌธ์ œ ํ•ด๊ฒฐ์ด ๊ฐ€๋Šฅํ•˜์˜€๋‹ค. 

 

i'm sorry hansoo์—์„œ ' ์™€ `๋ฅผ ์ž˜๋ชป์จ์„œ ์‚ฝ์งˆ์„ ํ–ˆ๋‹ค..