반응형
문제 출처
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()를 사용하는 것이 더 간결하고 직관적이었다. 이 경험을 통해 때로는 더 간단한 함수 하나가 전체 코드를 더 깔끔하게 만들어줄 수 있다는 것을 다시 한번 깨달았다.
반응형
'Algorithm > 프로그래머스' 카테고리의 다른 글
[프로그래머스 / Python] OX퀴즈 (0) | 2025.05.31 |
---|---|
[프로그래머스 / Python] 등수 매기기 (2) | 2025.05.31 |
[프로그래머스 / Python] 가까운 수 (0) | 2025.05.31 |
[프로그래머스 / Python] 소인수분해 (0) | 2025.05.31 |
[프로그래머스 / Python] 합성수 찾기 (0) | 2025.05.31 |