문제 링크 (Level 1)
https://programmers.co.kr/learn/courses/30/lessons/81301
나의 코드 (python)
def solution(s):
answer = ""
# 영단어에 대한 숫자 딕셔너리
arr = {
"zero" : 0, "one" : 1, "two" : 2,
"three" : 3, "four" : 4, "five" : 5,
"six" : 6, "seven" : 7, "eight" : 8,
"nine" : 9
}
# 영단어를 담을 배열
tmp = ""
for i in s:
if i.isdigit():
# 숫자면 그냥 정답에 추가
answer += i
elif i.isalpha():
# 문자면 tmp에 추가
tmp += i
if tmp in arr.keys():
# 영단어 딕셔너리와 키가 일치할 때 정답에 추가
answer += str(arr[tmp])
# tmp 비우기
tmp = ""
return int(answer)
이 문제는 숫자이면 true를 반환하는 isdigit(), 알파벳이면 true를 반환하는 isalpha()를 이용하여 문자열을 검증하였습니다.
그리고 딕셔너리를 이용하여 키 값에 해당되는 문자열이 만들어지면 values를 이용하여 숫자로 바꿔서 저장할 수 있도록 하였습니다.
'코딩공부 > 프로그래머스 (python)' 카테고리의 다른 글
[프로그래머스] 신고 결과 받기 (Python) (0) | 2022.03.21 |
---|---|
[프로그래머스] 문자열 압축 (python) (0) | 2021.08.02 |
[프로그래머스] 폰켓몬 (python) (0) | 2021.07.27 |
[프로그래머스] 모의고사 (python) (0) | 2021.07.27 |
[프로그래머스] 키패드 누르기 (python) (0) | 2021.07.26 |
댓글