7. 숫자 문자열과 영단어

2023. 6. 14. 13:51Programmers

728x90
  • 숫자 문자열과 영단어

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

다음은 숫자의 일부 자릿수를 영단어로 바꾸는 예시입니다.

  • 1478 → "one4seveneight"
  • 234567 → "23four5six7"
  • 10203 → "1zerotwozero3"

이렇게 숫자의 일부 자릿수가 영단어로 바뀌어졌거나, 혹은 바뀌지 않고 그대로인 문자열 s가 매개변수로 주어집니다. s가 의미하는 원래 숫자를 return 하도록 solution 함수를 완성해주세요.

참고로 각 숫자에 대응되는 영단어는 다음 표와 같습니다.

def solution(s):
    numbers = list('0123456789') 
    words = ['zero', 'one', 'two', 'three','four', 'five', 'six', 'seven', 'eight', 'nine']
    
    for i in range(len(words)):
        if words[i] in s:
            s = s.replace(words[i], numbers[i])
            
    return int(s)

replace 메서드는 sort처럼 자동으로 값을 변경해주지 않으므로, 반드시 어딘가 할당을 해서 갱신해야 한다.

728x90

'Programmers' 카테고리의 다른 글

9. 모의고사  (0) 2023.06.15
8. 문자열 내 마음대로 정렬하기  (0) 2023.06.15
6.예산  (0) 2023.06.14
5. 피보나치 수  (0) 2023.06.14
4. 최솟값 만들기  (0) 2023.06.13