Notice
Recent Posts
Recent Comments
Link
«   2024/07   »
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
관리 메뉴

김찬양의 개발일지

24일차. 숫자 문자열과 영단어 본문

코딩테스트/Programmers Level 1

24일차. 숫자 문자열과 영단어

자유로운영혼이다냥 2023. 12. 18. 21:23

링크

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

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 


 

문제


 

정답

def solution(s):
    s = s.replace('zero','0')
    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')
    return int(s)
def solution(s):
    dictionary = {
        'zero' : '0',
        'one' : '1',
        'two' : '2',
        'three' : '3',
        'four' : '4',
        'five' : '5',
        'six' : '6',
        'seven' : '7',
        'eight' : '8',
        'nine' : '9',
    }
    for k, v in dictionary.items():
        s = s.replace(k, v)
    return int(s)

 

풀이과정

 

단순히 각 영단어를 조합해 중간이 다른 영단어가 되는 경우는 없으므로 replace를 하면 된다. 딕셔너리나 리스트를 써도 좋지만, 리소스가 많지 않고 따로 규칙성 없이 일일히 만들어야하므로 그냥 replace 10개를 써도 문제없다.