[PYTHON]

[프로그래머스]LV1. 숫자 문자열과 영단어

b___gly 2022. 4. 23. 17:15

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

 

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

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

programmers.co.kr

 

내가 생각한 접근법

  • while문과 if문을 돌려서 겹치는 게 있으면 그걸 치환
  • 근데 이렇게 하려니 너무 시간이 오래걸릴 것 같음
  • 그러다 딕셔너리를 생각해냄

 

풀이

def solution(s):
    answer = s
    nums = {'zero': 0, 'one': 1, 'two': 2, 'three': 3, 'four': 4, 'five': 5, 
    		'six': 6, 'seven': 7, 'eight': 8, 'nine': 9}
	
    # nums 딕셔너리를 돌면서 answer에 해당하는 게 나온다면 
    #딕셔너리의 key값이 answer에 있을 거니까 그걸 value값으로 치환해라
    
    for item in nums.items():
        answer = answer.replace(item[0], str(item[1]))

    return int(answer)

 

 

천재들...