๐Ÿ’ป์ฝ”๋”ฉํ…Œ์ŠคํŠธ ๋ฌธ์ œ ํ’€์ด4

์ง€๋ฏผ์„œยท2023๋…„ 3์›” 10์ผ
0

coding test

๋ชฉ๋ก ๋ณด๊ธฐ
4/30

Chapter5. ์žฌ๊ท€

[๋ฌธ์ œ18] ๋ชจ์Œ์‚ฌ์ „ - Level2

์‚ฌ์ „์— ์•ŒํŒŒ๋ฒณ ๋ชจ์Œ 'A', 'E', 'I', 'O', 'U'๋งŒ์„ ์‚ฌ์šฉํ•˜์—ฌ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋Š”, ๊ธธ์ด 5 ์ดํ•˜์˜ ๋ชจ๋“  ๋‹จ์–ด๊ฐ€ ์ˆ˜๋ก๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. ์‚ฌ์ „์—์„œ ์ฒซ ๋ฒˆ์งธ ๋‹จ์–ด๋Š” "A"์ด๊ณ , ๊ทธ๋‹ค์Œ์€ "AA"์ด๋ฉฐ, ๋งˆ์ง€๋ง‰ ๋‹จ์–ด๋Š” "UUUUU"์ž…๋‹ˆ๋‹ค.

๋‹จ์–ด ํ•˜๋‚˜ word๊ฐ€ ๋งค๊ฐœ๋ณ€์ˆ˜๋กœ ์ฃผ์–ด์งˆ ๋•Œ, ์ด ๋‹จ์–ด๊ฐ€ ์‚ฌ์ „์—์„œ ๋ช‡ ๋ฒˆ์งธ ๋‹จ์–ด์ธ์ง€ returnํ•˜๋„๋ก solution ํ•จ์ˆ˜๋ฅผ ์™„์„ฑํ•ด์ฃผ์„ธ์š”.

- word์˜ ๊ธธ์ด๋Š” 1 ์ด์ƒ 5 ์ดํ•˜์ž…๋‹ˆ๋‹ค.

- word๋Š” ์•ŒํŒŒ๋ฒณ ๋Œ€๋ฌธ์ž 'A', 'E', 'I', 'O', 'U'๋กœ๋งŒ ์ด๋ฃจ์–ด์ ธ ์žˆ์Šต๋‹ˆ๋‹ค.

  • 1. ์žฌ๊ท€ ํ•จ์ˆ˜๋ฅผ ์ •์˜
def find(data, p, step):
	if step == 6: return
    if p ! = '': data.append(p)
    for c in ['A', 'E', 'I', 'O', 'U']:
    	find(data, ''.join([p, c]), step + 1)
  • 2. ํ•จ์ˆ˜๋ฅผ ์‹คํ–‰ํ•˜์—ฌ ์‚ฌ์ „ ๋งŒ๋“ค๊ธฐ
data = []
find(data, '', 0)
  • 3. ๋งŒ๋“ค์–ด์ง„ ์‚ฌ์ „์—์„œ ์ฃผ์–ด์ง„ ๋‹จ์–ด๊ฐ€ ์–ด๋””์— ์žˆ๋Š”์ง€ ์ „์ฒด ํƒ์ƒ‰์œผ๋กœ ์ฐพ๊ธฐ
for i in range(len(data)):
	if data[i] == word:
    	answer = i + 1
        break

[์ •๋‹ต1]

def find(data, p, step):
	if step == 6: return
    if p ! = '': data.append(p)
    for c in ['A', 'E', 'I', 'O', 'U']:
    	find(data, ''.join([p, c]), step + 1)
        
def solution(word):
	answer = 0
    data = []
	find(data, '', 0)
    for i in range(len(data)):
		if data[i] == word:
    		answer = i + 1
        	break
            
return answer

[์ •๋‹ต2_์ง์ ‘ ๊ณ„์‚ฐ]


def solution(word):
	preset = {
    	'A' : [1, 1, 1, 1, 1],
        'E' : [782, 157, 32, 7, 2],
        'I' : [1563, 313, 63, 13, 3],
        'O' : [2344, 469, 94, 19, 4],
        'U' : [3125, 625, 125, 25, 5]
	}
    
    answer = 0
    for idx, key in enumerate(word):
    	answer += preset[key][idx]
        
	return answer

[์ตœ์ข… ์ •๋‹ต3_๋“ฑ๋น„์ˆ˜์—ด์˜ ํ•ฉ ์ด์šฉ]

def solution(word):
	answer = 0
    for i, n in enumerate(word):
    	answer += (5 ** (5 - i) - 1) / (5 - 1) * "AEIOU".index(n) + 1
	return answer 
profile
๐Ÿ’ป + ๐ŸŽฅ

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