coding test - python/Programmers
Programmers / 숫자 문자열과 영단어 / Python
sillon
2022. 4. 8. 16:03
728x90
반응형
*문제 출처는 프로그래머스에 있습니다.
문제 제목: 숫자 문자열과 영단어
문제 사이트: https://programmers.co.kr/learn/courses/30/lessons/81301
풀이 1
딕셔너리 리플레이스
def solution(s):
nums = {
'zero' : '0',
'one' : '1',
'two' : '2',
'three' : '3',
'four' : '4',
'five' : '5',
'six' : '6',
'seven' : '7',
'eight' : '8',
'nine' : '9'
}
for key, value in nums.items():
s = s.replace(key,value)
return int(s)
풀이 2
리스트 리플레이스 ( 인덱스와 해당 문자열이 같은 것 이용)
def solution(s):
words = ['zero', 'one', 'two', 'three', 'four', 'five', 'six', 'seven', 'eight', 'nine']
for i in range(len(words)):
s = s.replace(words[i], str(i))
return int(s)
풀이 3
딕셔너리 이용
def solution(s):
answer = ''
string = ''
dict = {'zero':0, 'one':1, 'two':2, 'three':3, 'four':4, 'five':5,
'six':6, 'seven':7, 'eight':8, 'nine':9}
for i in s:
if i.isdigit():
answer += i
else:
string += i
if string in dict.keys():
answer += str(dict[string])
string = ''
return int(answer)
※ 알아야 할 것
- 문자열에 대한 딕셔너리 key, value 개념 정리
728x90
반응형