ํ‹ฐ์Šคํ† ๋ฆฌ ๋ทฐ

๐Ÿ“Œ ๋ฌธ์ œ ๋ถ„์„

ํ•œ๊ธ€ ํ”„๋กœ๊ทธ๋žจ์˜ ๋ฉ”๋‰ด ์˜ต์…˜์—์„œ ๊ฐ ์˜ต์…˜์— ๋‹จ์ถ•ํ‚ค๋ฅผ ์„ค์ •ํ•˜๋Š” ๋ฌธ์ œ์ด๋‹ค. ๋‹จ์ถ•ํ‚ค๋Š” ๋‹ค์Œ์˜ ๊ทœ์น™์— ๋”ฐ๋ผ ์ง€์ •ํ•ด์•ผ ํ•œ๋‹ค.

  1. ์šฐ์„  ์ˆœ์œ„:
    • ๊ฐ ์˜ต์…˜์˜ ๋‹จ์–ด์—์„œ ์ฒซ ๊ธ€์ž๋ฅผ ๋‹จ์ถ•ํ‚ค๋กœ ์„ค์ •ํ•  ์ˆ˜ ์žˆ๋Š”์ง€ ํ™•์ธํ•œ๋‹ค.
    • ๋งŒ์•ฝ ์ฒซ ๊ธ€์ž๊ฐ€ ์ด๋ฏธ ๋‹จ์ถ•ํ‚ค๋กœ ์ง€์ •๋˜์—ˆ๋‹ค๋ฉด, ๋‹จ์–ด์˜ ๋‚˜๋จธ์ง€ ๋ฌธ์ž๋“ค ์ค‘ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ๋ฌธ์ž๋ฅผ ์ฐพ์•„ ์„ค์ •ํ•œ๋‹ค.
    • ๋Œ€์†Œ๋ฌธ์ž๋ฅผ ๊ตฌ๋ถ„ํ•˜์ง€ ์•Š๋Š”๋‹ค.
    • ๋ชจ๋“  ๊ธ€์ž๋ฅผ ์‹œ๋„ํ•ด๋„ ๋‹จ์ถ•ํ‚ค๋ฅผ ์ง€์ •ํ•  ์ˆ˜ ์—†๋‹ค๋ฉด ๊ทธ๋Œ€๋กœ ๋‘”๋‹ค.
  2. ์ž…๋ ฅ ์กฐ๊ฑด:
    • ์˜ต์…˜ ๊ฐœ์ˆ˜ (1 ≤ N ≤ 30)
    • ๊ฐ ์˜ต์…˜์€ ์ตœ๋Œ€ 5๊ฐœ์˜ ๋‹จ์–ด, ๊ฐ ๋‹จ์–ด๋Š” ์ตœ๋Œ€ 10๊ฐœ์˜ ์•ŒํŒŒ๋ฒณ์œผ๋กœ ๊ตฌ์„ฑ๋จ.
    • ๊ณต๋ฐฑ์„ ๊ธฐ์ค€์œผ๋กœ ๋‹จ์–ด๋ฅผ ๊ตฌ๋ถ„.
  3. ์ถœ๋ ฅ ์กฐ๊ฑด:
    • ๋‹จ์ถ•ํ‚ค๋กœ ์ง€์ •๋œ ๊ธ€์ž๋Š” [ ] ๊ด„ํ˜ธ๋กœ ๊ฐ์‹ธ์„œ ์ถœ๋ ฅ.

๐Ÿ“Œ ๋ฌธ์ œ ํ•ด๊ฒฐ ์ „๋žต

  1. ์ž…๋ ฅ ์ฒ˜๋ฆฌ:
    • ์˜ต์…˜ ๊ฐœ์ˆ˜๋ฅผ ์ž…๋ ฅ๋ฐ›๊ณ , ๊ฐ ์˜ต์…˜ ๋ฌธ์ž์—ด์„ ๋ฆฌ์ŠคํŠธ๋กœ ์ €์žฅ.
  2. ๋‹จ์ถ•ํ‚ค ์ง€์ • ๊ณผ์ •:
    • ์ด๋ฏธ ์‚ฌ์šฉ๋œ ๋‹จ์ถ•ํ‚ค๋ฅผ ์ถ”์ ํ•  ์ง‘ํ•ฉ(set) ์‚ฌ์šฉ.
    • ๊ฐ ์˜ต์…˜์„ ๋‹จ์–ด ๋‹จ์œ„๋กœ ๋‚˜๋ˆ„๊ณ , ๋‹จ์–ด์˜ ์ฒซ ๊ธ€์ž๋ฅผ ๋จผ์ € ํ™•์ธ.
    • ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•˜๋ฉด ํ•ด๋‹น ๊ธ€์ž๋ฅผ ๋‹จ์ถ•ํ‚ค๋กœ ์„ค์ •ํ•˜๊ณ , ์ด๋ฏธ ์‚ฌ์šฉ๋˜์—ˆ๋‹ค๋ฉด ์˜ต์…˜์˜ ๋‚˜๋จธ์ง€ ๋ฌธ์ž์—์„œ ๋‹จ์ถ•ํ‚ค๋ฅผ ์ฐพ๋Š”๋‹ค.
  3. ์ถœ๋ ฅ ํ˜•์‹ ์กฐ์ •:
    • ๋‹จ์ถ•ํ‚ค๊ฐ€ ์„ ํƒ๋œ ๋ฌธ์ž์— ๋Œ€๊ด„ํ˜ธ [ ] ์ถ”๊ฐ€.

๐Ÿ“Œ ์‹œ๋„ ํšŒ์ฐจ ๋ฐ ์ˆ˜์ • ์‚ฌํ•ญ

import sys
input = sys.stdin.readline

N = int(input().strip())

used_shortcuts = set()

result = []

for _ in range(N):
    option = input().strip()
    words = option.split()  
    chosen = False          

    for i in range(len(words)):
        first_char = words[i][0].lower() 
        if first_char not in used_shortcuts:
            used_shortcuts.add(first_char)
            words[i] = f"[{words[i][0]}]" + words[i][1:]  
            chosen = True
            break

    if not chosen:
        for i in range(len(words)):
            for j in range(len(words[i])):
                char = words[i][j].lower()
                if char not in used_shortcuts:
                    used_shortcuts.add(char)
                    words[i] = words[i][:j] + f"[{words[i][j]}]" + words[i][j + 1:] 
                    chosen = True
                    break
            if chosen:
                break

    result.append(" ".join(words))

for line in result:
    print(line)