[프로그래머스] 숫자 문자열과 영단어 (python) - 2021 카카오 채용연계형 인턴십

🔗 문제링크

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

👩🏻‍💻 코드

num = {'zero': 0, 'one': 1, 'two': 2,
       'three': 3, 'four': 4, 'five': 5,
       'six': 6, 'seven': 7, 'eight': 8, 'nine': 9}


def solution(s):
    answer = ''
    temp = ''

    for i in s:
        if 'a' <= i <= 'z':
            temp += i
            if temp in num:
                answer += str(num[temp])
                temp = ''
        else:
            answer += i
    return int(answer)

- 다른 사람의 풀이 참고 후

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

📝 정리

replace 를 사용하니 11줄짜리를 4줄로 줄일 수 있었다. replace 개념을 잘 기억하고 있어야겠다.

실제 코딩 테스트를 볼 때는 문자열에 익숙하지 않아서 이 문제를 푸는 데 오랜 시간이 걸렸는데, 지금은 문자열 문제에 겁먹지 않게 되었다.

좋은 웹페이지 즐겨찾기