프로그래머스 lv1 숫자 문자열과 영단어 파이썬
이렇게 숫자의 일부 자릿수가 영단어로 바뀌어졌거나, 혹은 바뀌지 않고 그대로인 문자열 s가 매개변수로 주어집니다. s가 의미하는 원래 숫자를 return 하도록 solution 함수를 완성해주세요.
1. 0-9로 범위가 적으니, dictionary를 사용하면 어떨까? 2. 마찬가지로 범위가 적으니, replace를 사용하면 총 9번으로 해결 가능
로 먼저 정리를 해두고 시작했다.
def solution(s):
sam_dic={'zero': 0, 'one': 1, 'two': 2, 'three': 3, 'four': 4, 'five': 5, 'six': 6, 'seven': 7,
'eight': 8, 'nine': 9}
for i, j in sam_dic.items():
s = s.replace(i, str(j))
return int(s)
처음엔 replace
를 해도 바뀌지 않길래 당황했는데 생각해보니 재할당 해줘야 한다...^^..
그래도 한 컷에 해결! 🥳🥳🥳
이제 많이 풀었다고 나름... 어떤걸 써야 할지 감은 잡히는 것 같다..
기분탓인가? 아무튼 생각보다 쉬웠던 문제!
오늘의 TMI
사실 내 코드에서 sam이 가끔 보이는데 sample의 줄임말이다..
그냥 그렇다고,,, 대부분 dict
이나 위처럼 비교할 list
만들때 쓴다..
오늘의 TMI 끝!