[프로그래머스 Lv1] 숫자 문자열과 영단어(python)

이진규·2022년 1월 13일
1

프로그래머스(PYTHON)

목록 보기
12/64

문제

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

나의 코드

"""
1. 아이디어
replace의 사용법을 묻는 문제인 것 같다.
replace를 활용해서 그냥 풀면된다. (주의할 점 : replace 함수 안에는 str이 들어가야함)

2. 시간복잡도
O(n^2)
"""

def solution(s):
    
    # replace의 사용법을 묻는 문제 같음.
    
    words = ["zero", "one", "two", "three", "four", "five", "six", "seven", "eight", "nine"]
    
    for key, value in enumerate(words):
        s = s.replace(value, str(key))
        
    return int(s)
    

다른 사람의 코드


"""
1. 아이디어

2. 시간복잡도
O(n^2)??
"""

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

느낀점

간단한 문제라서 쉬웠다. 카카오 인턴 문제이니 쉽더라도 방심하지 말기

profile
항상 궁금해하고 공부하고 기록하자.

0개의 댓글