프로그래머스 LV1 - 숫자 문자열과 영단어
내 풀이
def solution(s):
new_num = ''
letter = ''
num_dict = {'zero': '0', 'one': '1', 'two': '2', 'three' : '3', 'four': '4', 'five': '5', 'six': '6', 'seven': '7', 'eight': '8', 'nine': '9'}
for word in s:
if word.isdigit():
new_num += word
continue
letter += word
if letter in num_dict:
new_num += num_dict[letter]
letter = ''
return new_num
다른 풀이
def solution(s):
# {숫자영단어 : 숫자문자열}
eng_num = {
"zero" : "0",
"one" : "1",
"two" : "2",
"three" : "3",
"four" : "4",
"five" : "5",
"six" : "6",
"seven" : "7",
"eight" : "8",
"nine" : "9"
}
# s 문자열안에 숫자영단어 있으면 숫자로 바꿔주기
for eng, num in eng_num.items():
if eng in s:
s = s.replace(eng, num)
return int(s)
출처: https://1ets-just-do-it.tistory.com/41 [파이썬은 신이야🔥🔥🔥:티스토리]
풀이 해석
dict.items()를 이용하여 key가 s안에 들어있을 경우 value로 replace 해주는 방식을 이용하였다.
배울 점
- dict.items()를 이용한 key,value for 문
- replace를 이용해 변환하기
댓글남기기