티스토리 뷰

728x90

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

 

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

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

programmers.co.kr

 

  • 해설:

문자열 s가 주어졌을 때 영어로 써져있는 숫자를 원래 숫자로 바꾸어서 출력하는 문제이다.

 

 

 

  • 풀이 :

dictionary를 이용하여 각 숫자를 의미하는 영단어와 숫자를 key-value로 매칭시켜놓고 isDigit()함수를 사용하여 숫자가 아닌 문자를 만날 때마다 치환시켜주었다.

 

 

 

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
def solution(s):
    answer = ''
    nums = {
        "one" : '1',
        "two" : '2',
        "three" : '3',
        "four" : '4',
        "five" : '5',
        "six" : '6',
        "seven" : '7',
        "eight" : '8',
        "nine" : '9',
        "zero" : '0'
    }
    c = ''
    for i in s:
        if i.isdigit():
            answer += i
        else:
            c += i
        if c in nums:
            answer += nums[c]
            c = ''
    return int(answer)
cs
320x100
댓글
© 2022 WonSeok, All rights reserved