영단어 별로 딕셔너리로 값을 지정하고 주어진 문자열은 숫자, 3글자, 4글자, 5글자중 하나임으로 케이스를 나눠서 숫자로 바꿔준다.
def solution(s):
answer = 0
b=[]
a = {"zero":0, "one": 1, "two": 2, "three": 3, "four": 4, "five":5, "six":6, "seven":7, \
"eight": 8, "nine": 9} #영단어 별로 숫자로 정리
while True:
if s[:3] in a: #3글자일때
b.append(str(a[s[:3]])) #3글자에 해당하는 a값을 b에 추가
s=s[3:] #s는 3번째 이후부터
elif s[:4] in a: #4글자일때
b.append(str(a[s[:4]]))
s=s[4:]
elif s[:5] in a: #5글자일때
b.append(str(a[s[:5]]))
s=s[5:]
else: #숫자일때
b.append(s[0])
s=s[1:]
if s=="":
break #빈 문자열이면 break
answer = "".join(b)
return int(answer) #배열을 합쳐주고 다시 정수로
'프로그래머스 풀이' 카테고리의 다른 글
프로그래머스 신규아이디 추천(파이썬) (0) | 2022.02.10 |
---|---|
프로그래머스 소수찾기(파이썬) (0) | 2022.02.10 |
프로그래머스 체육복(파이썬) (0) | 2022.02.10 |
프로그래머스 로또의 최고순위와 최저순위(파이썬) (0) | 2022.02.10 |
프로그래머스 신고 결과 받기(파이썬 풀이) (0) | 2022.02.09 |