★[python_파이썬_2021 카카오 채용연계형 인턴쉽]프로그래머스_LV1_숫자 문자열과 영단어_풀이

2024. 5. 28. 12:01코드리뷰

728x90
반응형

공부하는허딩크 : https://www.youtube.com/live/Q-70F3kAD8c?feature=shared

 

 

처음 볼때 뭔가 복잡해 보였지만 곰곰히 고민을 해보니 replace가 떠올랐다.

그리고 딕셔너리로 풀 수 있을 것 같은데... 라는 생각이 떠올랐다.

 

<첫번째 시도 : 통과>

처음에 s.replace(key, temp[key])로만 작성을 해 놓고 왜 답이 안나오지? 계속 고민했다.

결국 s = s.replace(key, temp[key])로 변수에 저장을 해 놔야 한다. => 알면서도 계속 잊어버린다.

def solution(s):
    temp = {
        "zero" : '0',
        "one" : '1',
        "two" : '2',
        "three" : '3',
        "four" : '4',
        "five" : '5',
        "six" : '6',
        "seven" : '7',
        "eight" : '8',
        "nine" : '9'
    }
    for key in temp:
        if key in s:
            s = s.replace(key, temp[key])
    return int(s)

 

<다른사람풀이 참고>

대부분 비슷하게 딕셔너리를 활용했다.

단, for key, value in temp.items():조건으로 if가 필요 없게 할 수 있다.

728x90
반응형