728x90
코딩테스트 연습 - 숫자 문자열과 영단어
네오와 프로도가 숫자놀이를 하고 있습니다. 네오가 프로도에게 숫자를 건넬 때 일부 자릿수를 영단어로 바꾼 카드를 건네주면 프로도는 원래 숫자를 찾는 게임입니다. 다음은 숫자의 일부 자
programmers.co.kr
나의코드
def solution(s):
s = s.replace('one','1')
s = s.replace('two','2')
s = s.replace('three','3')
s = s.replace('four','4')
s = s.replace('five','5')
s = s.replace('six','6')
s = s.replace('seven','7')
s = s.replace('eight','8')
s = s.replace('nine','9')
s = s.replace('zero','0')
return int(s)
정말 그냥 1차원적으로 replace를 써서 다 바꿔줬다. 직관적으로 할 수 있는 방법이 있을 것 같은데
정답코드
num_dic = {"zero":"0", "one":"1", "two":"2", "three":"3", "four":"4", "five":"5", "six":"6", "seven":"7", "eight":"8", "nine":"9"}
def solution(s):
answer = s
for key, value in num_dic.items():
answer = answer.replace(key, value)
return int(answer)
dict.item(): key, value를 반환해주는 함수
list.enumerate() : index, value를 반환해주는 함수
역시 아는 만큼 문자를 풀 수 있는 도구가 많아지는 것 같다. 지금은 일단 다양한 도구를 최대한 알아가는 것이 우선인 것 같다.
반응형
'알고리즘' 카테고리의 다른 글
[파이썬 알고리즘 인터뷰] 문자열 뒤집기 (0) | 2022.02.14 |
---|---|
[파이썬 알고리즘 인터뷰] 유효한 팰린드롬 (0) | 2022.02.14 |
[프로그래머스] Level1 - 신규 아이디 추천* (0) | 2021.12.11 |
[이것이 코딩테스트다] 실전 - 만들 수 없는 금액* (0) | 2021.12.11 |
[이것이 코딩테스트다] 실전 - 문자열 뒤집기 (0) | 2021.12.11 |