Python/CoTe

[programmers] 숫자 문자열과 영단어

joannekim0420 2022. 2. 19. 16:45
728x90

https://programmers.co.kr/learn/courses/30/lessons/81301

 

코딩테스트 연습 - 숫자 문자열과 영단어

네오와 프로도가 숫자놀이를 하고 있습니다. 네오가 프로도에게 숫자를 건넬 때 일부 자릿수를 영단어로 바꾼 카드를 건네주면 프로도는 원래 숫자를 찾는 게임입니다. 다음은 숫자의 일부 자

programmers.co.kr

 

 

eng_num_dict = {'one':1, 'two':2, 'three':3, 'four':4, 'five':5, 
                    'six':6, 'seven':7, 'eight':8, 'nine':9, 'zero':0}
num = [0,1,2,3,4,5,6,7,8,9]
    
def solution(s):
    tmp = ''
    answer = ''
    for letter in s:
        if letter not in str(num):
            tmp += letter
            if tmp in eng_num_dict:
                answer += str(eng_num_dict[tmp])
                tmp = ''
        
        else:
            answer += str(letter)
    return int(answer)

내가 기억하기로는 처음에는 하나하나 if문으로 처리했는데, 이제는 dict로 쉽게 처리 가능하다. 

 

부족한 점

- 문자 하나하나 확인하기보다는 regular expression 이나 문자열 자체로 해도 코드가 더 보기 좋았을 것 같다

'Python > CoTe' 카테고리의 다른 글

[programmers] 완주하지 못한 선수  (0) 2022.02.19
[programmers] 내적  (0) 2022.02.19
[programmers] 포켓몬  (0) 2022.02.19
[DFS] 감시 피하기  (0) 2021.12.03
[Implementation] 럭키 스트레이트  (0) 2021.12.02