영어가 싫어요
문제 설명
영어가 싫은 머쓱이는 영어로 표기되어있는 숫자를 수로 바꾸려고 합니다. 문자열 numbers가 매개변수로 주어질 때, numbers를 정수로 바꿔 return 하도록 solution 함수를 완성해 주세요.
제한사항
- numbers는 소문자로만 구성되어 있습니다.
- numbers는 "zero", "one", "two", "three", "four", "five", "six", "seven", "eight", "nine" 들이 공백 없이 조합되어 있습니다.
- 1 ≤ numbers의 길이 ≤ 50
- "zero"는 numbers의 맨 앞에 올 수 없습니다.
입출력 예 설명
입출력 예 #1
- "onetwothreefourfivesixseveneightnine"를 숫자로 바꾼 123456789를 return합니다.
입출력 예 #1
- "onefourzerosixseven"를 숫자로 바꾼 14067를 return합니다.
내가 작성한 코드
def solution(numbers):
dic = {"zero":'0', "one":'1', "two":'2', "three":'3', "four":'4', "five":'5', "six":'6', "seven":'7', "eight":'8', "nine":'9'}
for key, val in dic.items():
numbers = numbers.replace(key,val)
return int(numbers)
-> 딕셔너리 사용과 replace함수 사용해야겠다는 생각까지는 스스로 할수 있었다. 참고 블로그를 보며 구현하였다..
다른 사람이 작성한 코드
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... 내장함수로 돌리는 방법이다. 이 방법을 사용할 줄은 몰랐다. 자동으로 변호가 매겨지면서 value값을 가져오게 된다. 참고하자
회고
무슨 함수와 무슨 정렬 등을 사용해야하는지는 알것같은데 구현 실력이 역시 아직 익숙치 못하고,, 부족한 것 같다. 더 많은 문제풀이를 통해 다져야겠다. 이번에는 dictionary의 key와 value를 가져오는 구현을 외우자
참고 블로그
https://velog.io/@pric/프로그래머스파이썬-영어가-싫어요-문자열-Level-0
[프로그래머스][파이썬] 영어가 싫어요 - 문자열 (Level 0)
https://school.programmers.co.kr/learn/courses/30/lessons/120894모스 부호 문제와 비슷한 문제였다.문자열에 공백으로 나뉘어 있다면 split() 을 통해 나누었겠지만, 그도 아니여서 딕셔너리에 키 값 형태로 저
velog.io
17. dictionary(딕셔너리)
## 1. dictionary(딕셔너리) - 딕셔너리 타입은 immutable한 키(key)와 mutable한 값(value)으로 맵핑되어 있는 순서가 없는 집합입니다. - …
wikidocs.net
'CodingTest > 프로그래머스 (미운영)' 카테고리의 다른 글
| [프로그래머스 Lv.0] 가장 큰 수 찾기 (0) | 2026.01.09 |
|---|---|
| [프로그래머스 Lv.0] 약수구하기 (2) | 2026.01.06 |
| [프로그래머스 Lv.0] 가까운 수 (0) | 2025.08.10 |
| [프로그래머스 Lv.0] 대문자와 소문자 (0) | 2025.08.08 |
| [프로그래머스 Lv.0] 암호 해독 (0) | 2025.08.08 |