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

iamjinseo·2022년 8월 9일
0

문제풀이-Python

목록 보기
38/134

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

문제

1478 → "one4seveneight"
234567 → "23four5six7"
10203 → "1zerotwozero3"
문자열이 특정 자릿수 숫자가 영단어로 바뀌어있음

바뀐 문자열을 원래 숫자로 리턴하는 게 문제임

코드 1

def solution(s):
    answer = s.replace('zero', '0')
    answer = answer.replace('one', '1')
    answer = answer.replace('two', '2')
    answer = answer.replace('three', '3')
    answer = answer.replace('four', '4')
    answer = answer.replace('five', '5')
    answer = answer.replace('six', '6')
    answer = answer.replace('seven', '7')
    answer = answer.replace('eight' ,'8')
    answer = answer.replace('nine', '9')
    
    return int(answer)

replace써서 막무가내로 구현함

코드 2

def solution(s):
    answer = s
    n = ['zero', 'one', 'two', 'three', 'four', 'five', 'six', 'seven', 'eight', 'nine']
    for i in range(len(n)):
        answer = answer.replace(n[i], str(i))
    return int(answer)

좀 더 간결하게 접근함

남의 코드


딕셔너리를 쓰다니. 천재다

profile
일단 뭐라도 해보는 중

0개의 댓글