티스토리 뷰

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

문제

문자열이 주어졌을 때, 영단어로 쓰여진 숫자를 숫자로 변경하여 출력할 것.
e.g) "one4seveneight"이 주어졌을 경우, one -> 1, seven -> 7, eight -> 8로 변경해서 결과값으로 1478을 리턴하라는 문제이다.

코드

def solution(s):
    replace_words = {
        "zero": "0",
        "one": "1",
        "two": "2",
        "three": "3",
        "four": "4",
        "five": "5",
        "six": "6",
        "seven": "7",
        "eight": "8",
        "nine": "9"
    }

    for item in replace_words:
        if item in s:
            s = s.replace(item, replace_words[item])

    return int(s)

설명

  • 먼저 0~9까지의 숫자 영단어를 키, 키에 대응하는 실제 문자열을 값으로 하는 딕셔너리를 생성한다.
  • 딕셔너리를 기준으로 반복문을 실행하며 각 숫자 영단어에 해당하는 문자가 주어진 문자열에 있을 경우 해당 문자열을 딕셔너리의 밸류 값으로 치환한다.
  • int형으로 캐스팅해준 후 출력한다.
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/12   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
글 보관함