Algorithm/프로그래머스
[프로그래머스 / Python] 영어가 싫어요
Kun Woo Kim
2025. 5. 31. 20:44
반응형
문제 출처
https://school.programmers.co.kr/learn/courses/30/lessons/120894
문제
영어가 싫은 머쓱이는 영어로 표기되어있는 숫자를 수로 바꾸려고 합니다. 문자열 numbers
가 매개변수로 주어질 때, numbers
를 정수로 바꿔 return 하도록 solution 함수를 완성해 주세요.
내 답안
def solution(numbers):
answer = 0
c = dict(zip(["zero", "one", "two", "three", "four", "five", "six", "seven", "eight", "nine"], [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]))
for i in c.keys():
numbers = numbers.replace(i, str(c[i]))
return int(numbers)
남의 풀이
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)
결론 및 느낀점
처음엔 dict()와 zip()을 이용해 사전을 만드는 방법이 떠올랐는데, 코드를 다시 살펴보니 enumerate()를 사용하는 것이 더 간결하고 직관적이었다. 이 경험을 통해 때로는 더 간단한 함수 하나가 전체 코드를 더 깔끔하게 만들어줄 수 있다는 것을 다시 한번 깨달았다.
반응형