문제는 아래와 같습니다.
https://programmers.co.kr/learn/courses/30/lessons/81301
풀이
def solution(s):
kk={}
kk_sorted=[]
string=['zero','one','two','three','four','five','six','seven','eight','nine']
import re
for aa in range(len(string)):
for i in [m.start() for m in re.finditer(string[aa], s)]:
kk[i]=aa
for j in [m.start() for m in re.finditer(str(aa), s)]:
kk[j]=aa
for i in sorted(kk.items()):
kk_sorted.append(str(i[1]))
return int(''.join(kk_sorted))
1단계. string에 해당하는 문자열의 위치를 찾고 딕셔너리 형태로 변환합니다.
Ex) {3: 'one'} : 세번째 위치에 one이 있다.
2단계. number에 해당하는 문자열의 위치를 찾고 딕셔너리 형태로 변환합니다.
Ex) {4: 1} : 네번째 위치에 1이 있다.
3단계. 위치 기준으로 딕셔너리를 정렬합니다.
4단계. 정렬한 딕셔너리의 값을 합쳐서 숫자로 반환합니다.
'Python' 카테고리의 다른 글
[프로그래머스] 멀쩡한 사각형-I am yumida (0) | 2021.12.16 |
---|---|
[프로그래머스] 문자열 압축-I am yumida (0) | 2021.12.12 |
[프로그래머스] 로또의 최고 순위와 최저 순위-I am yumida (0) | 2021.12.12 |
[프로그래머스] 메뉴 리뉴얼-I am yumida (0) | 2021.12.04 |
[프로그래머스] 신규 아이디 추천-I am yumida (0) | 2021.12.04 |