알고리즘
[프로그래머스] level1 - 숫자 문자열과 영단어
고구마뿌리
2021. 12. 11. 23:50
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를 반환해주는 함수
역시 아는 만큼 문자를 풀 수 있는 도구가 많아지는 것 같다. 지금은 일단 다양한 도구를 최대한 알아가는 것이 우선인 것 같다.
반응형