[프로그래머스][파이썬] 영어가 싫어요 - 문자열 (Level 0)

뻥튀기아이스크림·2025년 3월 19일
1
post-thumbnail

◽ 문제 출처

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

◽ 문제

◽ 입력 & 출력

◽ 내 풀이

def solution(numbers):
    number_dict = {
        "zero": '0', "one": '1', "two": '2', "three": '3', "four": '4',
        "five": '5', "six": '6', "seven": '7', "eight": '8', "nine": '9'
    }

    for key, val in number_dict.items():
        numbers = numbers.replace(key, val)

    return int(numbers)
  • 모스 부호 문제와 비슷한 문제였다.
  • 문자열에 공백으로 나뉘어 있다면 split() 을 통해 나누었겠지만, 그도 아니여서 딕셔너리에 키 값 형태로 저장했다.
  • replace() 함수를 통해 key 값을 val 값으로 변경했다.

◽ 다른 사람 풀이

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)
  • 내 풀이와 비슷해 보이면서도 디테일이 달랐다.
  • 난 키-값 쌍을 조회하는 items() 함수를 사용한 반면, 이 풀이에서는 키만 조회하는 keys() 함수를 사용하고, r[k] 로 기본적인 값 조회를 통해 변환 값을 추가했다.

◽ 더 나아가기

  • 풀이에서 생각한 것과 같이 공백을 나누어져 있다면 그대로 리스트로 구분하면 되지만, 공백도 없다면 사전 자료형을 활용하자.



피드백은 언제나 환영입니다 :)

profile
성장하고 싶은 개발자

0개의 댓글