728x90
반응형
문제
- 영어가 싫은 머쓱이는 영어로 표기되어있는 숫자를 수로 바꾸려고 합니다. 문자열 numbers가 매개변수로 주어질 때, numbers를 정수로 바꿔 return 하도록 solution 함수를 완성해 주세요.
제한사항
- numbers는 소문자로만 구성되어 있습니다.
- numbers는 "zero", "one", "two", "three", "four", "five", "six", "seven", "eight", "nine" 들이 공백 없이 조합되어 있습니다.
- 1 ≤ numbers의 길이 ≤ 50
- "zero"는 numbers의 맨 앞에 올 수 없습니다.
입출력 예시
- 입출력 예 1
- "onetwothreefourfivesixseveneightnine"를 숫자로 바꾼 123456789를 return합니다.
- 입출력 예 2
- "onefourzerosixseven"를 숫자로 바꾼 14067를 return합니다.
코드 1
def solution(numbers):
answer = ''
numbers_list = {"zero":'0', "one":'1', "two":'2', "three":'3', "four":'4', "five":'5', "six":'6', "seven":'7', "eight":'8', "nine":'9'}
temp_str = ''
for ch in numbers:
if temp_str in numbers_list:
answer += numbers_list[temp_str]
temp_str = ''
temp_str += ch
if temp_str in numbers_list:
answer += numbers_list[temp_str]
temp_str = ''
return int(answer)
코드 2
def solution(numbers):
answer = ''
numbers_list = ["zero", "one", "two", "three", "four", "five", "six", "seven", "eight", "nine"]
for idx, num_val in enumerate(numbers_list):
numbers = numbers.replace(num_val, str(idx))
answer = int(numbers)
return answer
출처: 프로그래머스 코딩 테스트 연습, https://school.programmers.co.kr/learn/challenges
728x90
반응형
'프로그래머스 > Level_0' 카테고리의 다른 글
[프로그래머스] Lv.0 - 문자열 여러 번 뒤집기.py (0) | 2024.10.03 |
---|---|
[프로그래머스] Lv.0 - 두 수의 합2.py (0) | 2024.10.03 |
[프로그래머스] Lv.0 - 이진수 더하기.py (0) | 2024.10.03 |
[프로그래머스] Lv.0 - 배열 만들기 4.py (0) | 2024.10.03 |
[프로그래머스] Lv.0 - 왼쪽 오른쪽.py (0) | 2024.10.03 |