프로그래머스 - 영어가 싫어요

dobyming·2022년 12월 26일

문제 설명

영어가 싫은 머쓱이는 영어로 표기되어있는 숫자를 수로 바꾸려고 합니다. 문자열 numbers가 매개변수로 주어질 때, numbers를 정수로 바꿔 return 하도록 solution 함수를 완성해 주세요.

제한사항

  • numbers는 소문자로만 구성되어 있습니다.
  • numbers는 "zero", "one", "two", "three", "four", "five", "six", "seven", "eight", "nine" 들이 공백 없이 조합되어 있습니다.
  • 1 ≤ numbers의 길이 ≤ 50
  • "zero"는 numbers의 맨 앞에 올 수 없습니다.

입출력 예

numbersresult
"onetwothreefourfivesixseveneightnine"123456789
"onefourzerosixseven"14067

내 코드

def solution(numbers):
    answer = ''
    numbers = numbers.replace("zero", "0");
    numbers = numbers.replace("one", "1");
    numbers = numbers.replace("two", "2");
    numbers = numbers.replace("three", "3");
    numbers = numbers.replace("four", "4");
    numbers = numbers.replace("five", "5");
    numbers = numbers.replace("six", "6");
    numbers = numbers.replace("seven", "7");
    numbers = numbers.replace("eight", "8");
    numbers = numbers.replace("nine", "9");
    
    return int(numbers)

사실 처음에는 number dict를 선언해서 numbers에 dict key와 같은것이 있다면 value로 접근해서 풀려고 했으나 풀리지 않았고.. 그러던 와중에 replace 라는 함수에 대해서 배우게 됐다.

Usage: replace(”기존값” , “바꾸려는 값”)

어떤 값을 ~로 바꾸려고 한다 하면 replace 함수도 의심해보면 좋을것 같다.

0개의 댓글