알고리즘

[프로그래머스 Lv1 - 2021 카카오 채용연계형 인턴십] 숫자 문자열과 영단어 (Python)

lwkejpf 2022. 6. 30. 14:21

 


 

def solution(s):
    answer = []
    s = list(s)
    
    while (len(s) > 0) :
        try :
            s[0] = int(s[0])
            answer.append(s[0])
            del s[0]
   
        except :
            if s[0] == 'z' :
                answer.append(0)
                del s[:4]
            elif s[0] == 'o' :
                answer.append(1)
                del s[:3]
            elif s[0] == 't' :
                if s[1] == 'w' :
                    answer.append(2)
                    del s[:3]
                else :
                    answer.append(3)
                    del s[:5]
            elif s[0] == 'f' :
                if s[1] == 'o' :
                    answer.append(4)
                    del s[:4]
                else :
                    answer.append(5)
                    del s[: 4]
            elif s[0] == 's' :
                if s[1] == 'i' :
                    answer.append(6)
                    del s[:3]
                else :
                    answer.append(7)
                    del s[:5]
            elif s[0] == 'e' :
                answer.append(8) 
                del s[:5]
            else :
                answer.append(9)
                del s[:4]
       
    result = ''
    for i in answer :
        result += str(i)
        
    return int(result)

 

그냥.. 무지성으로 하면 무난하게 통과할 수 있는 ..

 

뭔가 enumerate 사용해서 숫자 인덱스들만 모은 다음

그 인덱스들 사이사이에 알파벳으로도 풀 수 있을 것 같기도 ??