문제
네오와 프로도가 숫자놀이를 하고 있습니다. 네오가 프로도에게 숫자를 건넬 때 일부 자릿수를 영단어로 바꾼 카드를 건네주면 프로도는 원래 숫자를 찾는 게임입니다.
다음은 숫자의 일부 자릿수를 영단어로 바꾸는 예시입니다.
- 1478 → "one4seveneight"
- 234567 → "23four5six7"
- 10203 → "1zerotwozero3"
이렇게 숫자의 일부 자릿수가 영단어로 바뀌어졌거나, 혹은 바뀌지 않고 그대로인 문자열 s가 매개변수로 주어집니다. s가 의미하는 원래 숫자를 return 하도록 solution 함수를 완성해주세요.
풀이 1) list index를 이용
def solution(s):
answer = s
nums=['zero','one','two','three','four','five','six','seven','eight','nine']
for num in nums:
if num in answer:
answer=answer.replace(num,str(nums.index(num)))
return int(answer)
0부터 9까지 각각 인덱스에 해당하는 숫자의 알파벳으로 이루어진 리스트를 생성한다.
전달받은 문자열 중 알파벳 숫자가 포함되어 있다면, 해당 숫자(인덱스)로 치환한다.
문자열 answer를 int형으로 변환하여 return한다.
풀이 2) dict 자료형을 이용
def solution(s):
answer = s
num_dic={'zero':'0','one':'1','two':'2','three':'3','four':'4','five':'5','six':'6','seven':'7','eight':'8','nine':'9'}
for key, value in num_dic.items():
answer = answer.replace(key, value)
return int(answer)
0부터 9까지 알파벳:숫자 로 이루어진 dictionary를 생성한다.
전달받은 문자열 중 알파벳 숫자가 포함되어 있다면, 해당 알파벳(key)에 대응하는 숫자(value)로 치환한다.
문자열 answer를 int형으로 변환하여 return한다.
'👩🏻💻 Front-end > 👾 Algorithm' 카테고리의 다른 글
프로그래머스 - 크레인 인형뽑기 게임 (Python) (0) | 2022.06.06 |
---|---|
프로그래머스 - 키패드 누르기 (Python) (0) | 2022.06.06 |
프로그래머스 - 신규 아이디 추천 (Python) (0) | 2022.06.06 |
프로그래머스 - 로또의 최고 순위와 최저 순위 (Python) (0) | 2022.06.06 |
백준 1475 - 방 번호 (Python) (0) | 2022.05.30 |