https://school.programmers.co.kr/learn/courses/30/lessons/81301
네오와 프로도가 숫자놀이를 하고 있습니다.
네오가 프로도에게 숫자를 건넬 때 일부 자릿수를 영단어로 바꾼 카드를 건네주면
프로도는 원래 숫자를 찾는 게임입니다.
다음은 숫자의 일부 자릿수를 영단어로 바꾸는 예시입니다.
1478 → "one4seveneight"
234567 → "23four5six7"
10203 → "1zerotwozero3"
이렇게 숫자의 일부 자릿수가 영단어로 바뀌어졌거나,
혹은 바뀌지 않고 그대로인 문자열 s가 매개변수로 주어집니다.
s가 의미하는 원래 숫자를 return 하도록 solution 함수를 완성해주세요.
풀이
def solution(s):
num_arr = ["zero", "one", "two", "three", "four", "five", "six", "seven", "eight", "nine"]
enmrt_arr = enumerate(num_arr)
for index, value in enmrt_arr:
s = s.replace(value, str(index))
answer = int(s)
return answer
enumerate 함수를 이용하면, 굳이 dictionary 형태로 정의하지 않아도
index와 value 값을 활용할 수 있어서 좋았다.
s = s.replace(value, str(index))
알파벳을 스트링 형태의 숫자(str(index))로 변환해서 값을 받았고
answer = int(s)
정수형으로 변환해서, 값을 리턴했다.
'코딩테스트' 카테고리의 다른 글
[프로그래머스]코딩 기초문제 3일동안 42문제 푼것들! (2) | 2023.12.15 |
---|---|
[PCCP 기출문제] 1번, 붕대감기 게임 (2) | 2023.11.29 |
[코딩테스트] 알파벳 찾기(아스키코드) (0) | 2023.07.31 |
[Coding Test04] n 이하의 소수 찾기. 소수 개수 찾기 (0) | 2023.04.22 |
[Coding Test03] 직사각형 넓이 구하기 (4) | 2023.04.19 |