프로그래머스/파이썬_입문

영어가 싫어요

싱싱한복초이 2024. 11. 2. 16:18

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

 

프로그래머스

SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프

programmers.co.kr

[문제 설명]

영어가 싫은 머쓱이는 영어로 표기되어있는 숫자를 수로 바꾸려고 합니다. 문자열 numbers가 매개변수로 주어질 때, numbers를 정수로 바꿔 return 하도록 solution 함수를 완성해 주세요.

 

제한사항

  • numbers는 소문자로만 구성되어 있습니다.
  • numbers는 "zero", "one", "two", "three", "four", "five", "six", "seven", "eight", "nine" 들이 공백 없이 조합되어 있습니다.
  • 1 ≤ numbers의 길이 ≤ 50
  • "zero"는 numbers의 맨 앞에 올 수 없습니다.

 

[나의 풀이]

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

replace함수

주의 사항: replace 메서드는 두 번째 인자로 문자열만을 받기 때문에, value는 문자열이어야 함.

처음에 num={'zero':0, 'one':1..} 이렇게 적었는데 replace에 value를 문자열로 넣기 위해서는 '0', '1' 이렇게 넣어야 했다.

마지막에 int( )를 통해 한 번에 숫자로 변환해준다. 

 

[다른 풀이]

def solution(numbers):
    for num, eng in enumerate(["zero", "one", "two", "three", "four", "five", "six", "seven", "eight", "nine"]):
        numbers = numbers.replace(eng, str(num))
    return int(numbers)

enumerate함수: 리스트의 각 요소에 대해 인덱스와 해당 문자열을 동시에 가져옴.

def solution(numbers):
    dic = ["zero", "one", "two", "three", "four", "five", "six", "seven", "eight", "nine"]
    i=0
    for word in dic:
        numbers = numbers.replace(word, str(i))
        i+=1
    return int(numbers)

 

def solution(numbers):
    r = {'zero': '0', 'one': '1', 'two': '2', 'three': '3', 'four': '4',\
         'five': '5', 'six': '6', 'seven': '7', 'eight': '8', 'nine': '9'}
    for k in r.keys():
        numbers = numbers.replace(k, r[k])

    return int(numbers)

[참고]

딕셔너리 관련 블로그 글

https://blog.naver.com/sw4r/221504133335

 

[파이썬(Python)] 딕셔너리(Dictionary) 관련 함수 정리! [.keys() / .values() / .items() / .get() / .clear(), in]

이전 포스팅에서 딕셔너리를 기본적으로 어떻게 생성하고 수정하는지에 대해서 알아보았다. https://blog.n...

blog.naver.com

 

 

'프로그래머스 > 파이썬_입문' 카테고리의 다른 글

한 번만 등장한 문자  (0) 2024.11.05
인덱스 바꾸기  (0) 2024.11.03
대문자와 소문자  (0) 2024.11.01
암호 해독  (0) 2024.10.30
369게임  (0) 2024.10.29