[ 2023-08-03 ๐Ÿ’ท TIL ]

Burkeyยท2023๋…„ 8์›” 3์ผ
0

TIL

๋ชฉ๋ก ๋ณด๊ธฐ
135/157

๋ฐฑ์ค€ 1759๋ฒˆ ํŒŒ์ด์ฌ


๋ฌธ์ œ


์ฝ”๋“œ

import sys

input = sys.stdin.readline

l, c = map(int, input().split())
w = list(input().strip().split())
m = ["a", "e", "i", "o", "u"] # ๋ชจ์Œ
answer = []
w.sort() # ์‚ฌ์ „ ์ˆœ์œผ๋กœ ์ •๋ ฌ

def back(cnt, idx):
  
  if cnt == l: # ์ง€์ •ํ•ด์ค€ ๋ฌธ์ž์—ด์˜ ๊ฐฏ์ˆ˜์™€ ๊ฐ™์•„์ง€๋ฉด
    vo, co = 0, 0
    
    for i in range(l):
      if answer[i] in m:
        vo += 1
      else:
        co += 1
    # ๋ชจ์Œ๊ณผ ์ž์Œ์˜ ๊ฐฏ์ˆ˜ ์นด์šดํŠธ
    
    if vo >= 1 and co >= 2: 
    # ๋ชจ์Œ 1๊ฐœ ์ด์ƒ ์ž์Œ 2๊ฐœ ์ด์ƒ์ผ ๊ฒฝ์šฐ์—๋งŒ ์ถœ๋ ฅ
      print(''.join(answer))
      
      return 
      # ํ•ด๋‹น ์กฐ๊ฑด์„ ํ†ต๊ณผํ•œ ๋ฌธ์ž์—ด์˜ ๋‹ค์Œ ๋ฌธ์ž๊ฐ€ ์Œ“์ด๋„๋ก 
      # return์œผ๋กœ ์žฌ๊ท€๋ฅผ ๋Š์–ด์ค€๋‹ค.
  
  for i in range(idx, c):
    answer.append(w[i]) 
    # ์‚ฌ์ „์ˆœ์œผ๋กœ ๋ฏธ๋ฆฌ ์ •๋ ฌํ•ด์„œ ์‚ฌ์ „์ˆœ์œผ๋กœ ๋ฐฐ์—ด์— ์Œ“์—ฌ์žˆ๋‹ค.
    back(cnt+1, i+1)
    answer.pop()

back(0, 0)

๋นฝ๋“œ๋ž˜ํ‚น ์•Œ๊ณ ๋ฆฌ์ฆ˜ ์‰ฝ์ง€ ์•Š๋‹ค.. ์—ฐ์Šต์ด ํ•„์š”ํ•˜๋‹ค ๋Š๊ปด์กŒ์Šต๋‹ˆ๋‹ค.

profile
์Šคํƒฏ ์˜ฌ๋ฆฌ๋Š” ์ค‘

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