Algoritm/programmers

[programmers] LV1. 숫자 문자열과 영단어

twoDeveloper 2023. 2. 22. 00:39

# 문제풀이

def solution(s):
    answer = ''
    dict = {
        "zero" : "0",
        "one" : "1",
        "two" : "2",
        "three" : "3",
        "four" : "4",
        "five" : "5",
        "six" : "6",
        "seven" : "7",
        "eight" : "8",
        "nine" : "9"
    }
    a = ''
    for i in s:
        if i.isdigit():
            answer += i
        elif i.isalpha():
            a += i
            if a in dict.keys():
                answer += dict[a]
                a = ''

    return int(answer)

- dict{key:value} 를 이용해 해결

- 문자열에서 isdigit()와 isalpha()를 통해 숫자인지, 문자열인지 확인

 

# 다른 사람 문제 풀이

num_dic = {"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_dic.items():
        answer = answer.replace(key, value)
    return int(answer)

- 딕셔너리 자료형에서 items()를 이용해 key, value를 한번에 가져온 후 replace()를 통해 변환

- 와..

 

# 문제출처

https://school.programmers.co.kr/learn/courses/30/lessons/81301/solution_groups?language=python3&type=all 

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr