https://school.programmers.co.kr/learn/courses/30/lessons/120894
#영어가 싫어요
#문제 설명
영어가 싫은 머쓱이는 영어로 표기되어있는 숫자를 수로 바꾸려고 합니다.
문자열 numbers가 매개변수로 주어질 때, numbers를 정수로 바꿔 return 하도록 solution 함수를 완성해 주세요.
#제한사항
numbers는 소문자로만 구성되어 있습니다.
numbers는 "zero", "one", "two", "three", "four", "five", "six", "seven", "eight", "nine"
들이 공백 없이 조합되어 있습니다.
1 ≤ numbers의 길이 ≤ 50
"zero"는 numbers의 맨 앞에 올 수 없습니다.
#입출력 예
numbers result
"onetwothreefourfivesixseveneightnine" 123456789
"onefourzerosixseven" 14067
나의 풀이 : replace사용
def solution(numbers):
answer = ''
answer = numbers.replace("zero","0").replace("one","1").replace("two","2").replace("three","3").replace("four","4").replace("five","5").replace("six","6").replace("seven","7").replace("eight","8").replace("nine","9")
return int(answer)
+) 다른 분들의 풀이 중 enumerate를 사용한 풀이!
def solution(numbers):
for num, eng in enumerate(["zero", "one", "two", "three", "four", "five", "six", "seven", "eight", "nine"]):
numbers = numbers.replace(eng, str(num))
return int(numbers)
'코딩테스트' 카테고리의 다른 글
프로그래머스 1레벨 - 달리기 경주 (5) | 2023.05.03 |
---|---|
프로그래머스 - 로그인 성공? (0) | 2023.04.28 |
프로그래머스 - 문자열 섞기 (0) | 2023.04.28 |
프로그래머스 - 문자열 겹쳐쓰기 (0) | 2023.04.28 |
프로그래머스 - 연속된 수의 합 (0) | 2023.04.28 |