Python3/프로그래머스

2022.03.08 [프로그래머스] (python 파이썬) 숫자 문자열과 영단어

ian's coding 2022. 3. 8. 20:25
728x90
반응형

 

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

 

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

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

programmers.co.kr


풀이

이 문제는 replace를 이용하여 간단하게 해결할 수 있다. 

문제에서 zero~nine까지가 문자열에 있으면 숫자로 바꿔서 출력을 하면되는데, 영문숫자들을 배열에 넣으면 인덱스넘버와 같아 기본 배열에 넣어 문제를 해결했다. 만약 인덱스넘버와 같지 않거나 규칙이 없으면 딕셔너리를 사용하여 해결해야한다. 그래서 아래 딕셔너리를 이용해 다시 작성해 보았다.

 

-리스트를 이용한 코드

1
2
3
4
5
6
7
def solution(s):
    nums=['zero','one','two','three','four','five','six','seven','eight','nine']
 
    for i in nums:
        if i in s:
            s=s.replace(i,str(nums.index(i)))
    return int(s)
cs

 

-딕셔너리를 이용한 코드

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

 

 

 

728x90
반응형