Notice
Recent Posts
Recent Comments
Link
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
Tags
more
Archives
Today
Total
관리 메뉴

쉽지않은 블로그

2021 KAKAO INTERNSHIP [숫자문자열과 영단어] [python] 본문

알고리즘문제풀이/프로그래머스

2021 KAKAO INTERNSHIP [숫자문자열과 영단어] [python]

쉽지않네 2021. 7. 10. 16:31

https://programmers.co.kr/learn/courses/30/lessons/81301

 

코딩테스트 연습 - 숫자 문자열과 영단어

네오와 프로도가 숫자놀이를 하고 있습니다. 네오가 프로도에게 숫자를 건넬 때 일부 자릿수를 영단어로 바꾼 카드를 건네주면 프로도는 원래 숫자를 찾는 게임입니다. 다음은 숫자의 일부 자

programmers.co.kr


문제 요약

숫자와 (0~9까지의 ) 영단어( ex | "zero" , "one"....)가 섞여있는 상태의 문자열로 주어질 경우

이를 숫자로 반환하여라

ex|.  "03fiveseven8" => 03578

 


나의 풀이

C++ 보다는 문자열 처리에 편리한 javascript , python을 사용하고 replace와 같은 내장 함수를 사용했다.

길이가 50보다 작고 생성된 숫자는 2^32 보다 작으므로

시간 복잡도는 전혀 고려하지 않아도 되고 4바이트 integer 타입도 괜찮다.

 


소스코드

from functools import reduce
digit={'zero':'0','one':'1','two':'2','three':'3','four':'4','five':'5','six':'6','seven':'7','eight':'8','nine':'9'}
def solution(s):
    return int(reduce(lambda ans,d:ans.replace(d,digit[d]),digit.keys(),s))
Comments