Output/Algorithm.py

프로그래머스 > 코딩테스트 연습 (23.04.05) > 2021 카카오 채용연계형 인턴쉽 > 숫자 문자열과 영단어 (Lv.1)

buji-learn 2023. 4. 12. 13:00

  정답률이 낮은 문제 풀이가 재밌지만, 오늘은 스크럼 준비를 해야해서 빨리 풀 수 있는 문제를 골랐다. Lv.1 다 풀고 Lv.2로 넘어가려했는데 조금 남겨두는 것도 좋겠다.

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

첫번째 시도

numList = ['0','1', '2', '3', '4', '5', '6', '7', '8', '9' ] 
numStr = ['zero', 'one', 'two', 'three', 'four', 'five', 'six', 'seven', 'eight', 'nine']

input = 'one4seveneight'
i = 1

    while True:    
        if len(s) == 0:
            return int(answer)    # early return
        word = s[:i]
        if word in numList:
            answer += word
            s = s[i:]
            i = 1
            continue              
        elif word in numStr:
            num = numStr.index(word)
            answer += str(num)
            s = s[i:]
            i = 1
            continue

        i += 1

  조금 버벅였던 부분은 반복문의 무한반복을 방지하기 위한 return 부분이었다. 두번정도 무한 루프 속을 허덕이다가 print 로 출력해보면서 디버깅했다.

  한 방에 클리어!


 

GitHub - buji-learn/1percentmore38timesbetter

Contribute to buji-learn/1percentmore38timesbetter development by creating an account on GitHub.

github.com