728x90
https://programmers.co.kr/learn/courses/30/lessons/81301
코딩테스트 연습 - 숫자 문자열과 영단어
네오와 프로도가 숫자놀이를 하고 있습니다. 네오가 프로도에게 숫자를 건넬 때 일부 자릿수를 영단어로 바꾼 카드를 건네주면 프로도는 원래 숫자를 찾는 게임입니다. 다음은 숫자의 일부 자
programmers.co.kr
💡 문제
네오와 프로도가 숫자놀이를 하고 있습니다. 네오가 프로도에게 숫자를 건넬 때 일부 자릿수를 영단어로 바꾼 카드를 건네주면 프로도는 원래 숫자를 찾는 게임입니다. 숫자의 일부 자릿수가 영단어로 바뀌어졌거나, 혹은 바뀌지 않고 그대로인 문자열 s가 매개변수로 주어집니다. s가 의미하는 원래 숫자를 return 하시오.
참고로 각 숫자에 대응되는 영단어는 다음과 같습니다.
[입출력 예]
#1 'one'은 1, 'seven'은 7, 'eight'은 8과 대응되기 때문에 1478로 변환된다.
[ Python Code 👩🏻💻]
import re
def solution(s):
word = ['zero','one','two','three','four','five','six','seven','eight','nine']
for i in word:
s = re.sub(i,str(word.index(i)),s)
return int(s)
Code Review>
1. 숫자와 대응되는 영단어로 이루어진 list를 만든다. (이때, 각 인덱스와 대응되는 숫자가 동일하다는 점을 알아야 한다.)
2. re.sub() 함수를 사용하여 만약 s 문자열에 해당 영단어가 포함되어 있으면 인덱스 숫자로 바꾼다. (index는 int 형태이므로 str로 변환하여 바꿔준다.)
한 번에 통과했다😊🙆🏻♀️
728x90
'Programmers Coding-Test' 카테고리의 다른 글
[Python] 2019 KAKAO BLIND RECRUITMENT : 오픈 채팅방 (0) | 2022.03.10 |
---|---|
[Python] 위클리 챌린지 : 부족한 금액 계산하기 (0) | 2022.03.06 |
[Python] 2022 KAKAO BLIND RECRUITMENT : 신고 결과 받기 (0) | 2022.03.05 |
[Hash] 전화번호 목록 (0) | 2022.03.03 |
[Python] 2020 카카오 인턴십 : 키패드 누르기 (0) | 2021.05.19 |