😁 빅데이터 문제 풀기 & Study/- Programmers 문제

[Python] 숫자 문자열과 영단어(2021 카카오 채용연계형 인턴십)

또방91 2022. 3. 16. 16:19
728x90

 

 

출처: 프로그래머스 코딩 테스트 연습, https://programmers.co.kr/learn/challenges

 

 

 

 

 

 

 

 

 

 

 

[Python] 숫자 문자열과 영단어(2021 카카오 채용연계형 인턴십)

 

 

 

 

✏️ 문제 링크

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

 

코딩테스트 연습 - 숫자 문자열과 영단어

네오와 프로도가 숫자놀이를 하고 있습니다. 네오가 프로도에게 숫자를 건넬 때 일부 자릿수를 영단어로 바꾼 카드를 건네주면 프로도는 원래 숫자를 찾는 게임입니다. 다음은 숫자의 일부 자

programmers.co.kr

 

 

# 출처: 프로그래머스 코딩 테스트 연습, https://programmers.co.kr/learn/challenges

# "one4seveneight" ->	1478
# "23four5six7"	-> 234567
# "2three45sixseven" ->	234567
#  "123" ->	123

# def solution(s):
#     answer = 0
#     return answer

 

 정답은 ??

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

#리스트 형태로 나옴
convert_list = convert.keys()


def solution(s):
    for i in convert_list:
        if i in s: 
            s = s.replace(i,str(convert[i]))
    return int(s)

 

딕셔너리를 이용하여 문제를 풀이했다!

라벨인코딩하면서 딕셔너리를 간간히 사용하다보니 기본적인 문법이 다시 봐줘야겠다는 생각이!

그래도 나름 쉽게 풀수 있었던 Level 1 문제

 

 

🖱️ 다른 분들의 코드 ??

 

1

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)

2

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

 

딕셔너리를 이렇게 사용할 수 있다니, 멋있는 분이 참 많다!

 

 

 

 

 

728x90