광고
광고
소스 코드
numbers = ['zero', 'one', 'two', 'three', 'four', 'five', 'six', 'seven', 'eight', 'nine'] num_dic = {} for q in range(10): num_dic[numbers[q]] = q def solution(s): answer = '' idx = 0 while True: # 숫자일 경우 if 48 <= ord(s[idx]) <= 57: answer += str(s[idx]) idx += 1 # 영어 단어일 경우 else: temp = '' while True: # key 값이 없으면 if num_dic.get(temp) == None: temp += s[idx] idx += 1 # key 값이 존재하면 else: answer += str(num_dic.get(temp)) break if idx == len(s): break answer = int(answer) return answer
해결 방법
1. 딕셔너리에 값을 저장 ('one' : 1 의 형태로)
2. 값을 찾아서 존재하면 answer에 추가
느낀 점
ps. 개인적인 코드와 코드를 작성의 이유를 적은 것입니다.
오류나 적절치 않은 문법이 존재할 수 있으며, 다른 분들께는 굉장히 비효율적인 방법으로 여겨질 수 있습니다.
혹시 개선 사항, 오류 및 문제에 대한 수정 사항 등을 댓글로 남겨주신다면 감사한 마음으로 배우고 수정하겠습니다.
'코딩 문제해결 > 문제풀이.프로그래머스' 카테고리의 다른 글
[프로그래머스 코딩] 신규 아이디 추천 - PYTHON (0) | 2021.07.28 |
---|---|
[프로그래머스 코딩] 키패드 누르기 - PYTHON (0) | 2021.07.28 |
[프로그래머스 코딩] 로또의 최고 순위와 최저 순위 - PYTHON (0) | 2021.07.27 |
[프로그래머스 코딩] 크레인 인형뽑기 게임 - PYTHON (0) | 2021.07.27 |
[프로그래머스 코딩] 코딩테스트 연습 H-Index - PYTHON (0) | 2021.07.01 |