programmers- lv.1 (숫자 문자열과 영단어)

이예송·2023년 7월 7일

PS

목록 보기
11/97

문제링크: 숫자 문자열과 영단어

✍🏻 Information

content
언어python
난이도⭐️
풀이시간5분
제출횟수1
인터넷검색유무yes




🍒 My Code

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




💡 What I learned

  • s 자체를 replace하면 먹히지 않았다
  • 너무 노가다 풀이를 한거 같기에 좀 더 정돈된 풀이를 찾아보았는데

<풀이1>

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)

<풀이2>

def solution(s):
    words = ['zero', 'one', 'two', 'three', 'four', 'five', 'six', 'seven', 'eight', 'nine']

    for i in range(len(words)):
        s = s.replace(words[i], str(i))

    return int(s)

0개의 댓글