PS/프로그래머스

숫자 문자열과 영단어 (lv1)

ForteQook 2022. 7. 1. 20:20

입력값에 대해서 특정 문자열을 특정 문자로 바꾸는 간단한 프로그램이다. 정규표현식, 그리고 딕셔너리 객체 매핑으로 문제를 해결했다.


딕셔너리

02-5 딕셔너리 자료형 - 점프 투 파이썬 (wikidocs.net)

 

02-5 딕셔너리 자료형

[TOC] ## 딕셔너리란? 사람은 누구든지 이름 = 홍길동, 생일 = 몇 월 며칠 등으로 구별할 수 있다. 파이썬은 영리하게도 이러한 대응 관계를 나타낼 ...

wikidocs.net

get 메서드를 사용해서 key값을 이용해 value 값을 불러왔다.


문자열 대체하기

 정규표현식을 사용해서 문자를 파싱하고, 각 group 에 적절한 처리를 해서 원하는 숫자배열을 만들기로 하였다.


정규표현식

07-2 정규 표현식 시작하기 - 점프 투 파이썬 (wikidocs.net)

 

07-2 정규 표현식 시작하기

[TOC] ## 정규 표현식의 기초, 메타 문자 정규 표현식에서 사용하는 메타 문자(meta characters)에는 다음과 같은 것이 있다. > ※ 메타 문자란 원래 ...

wikidocs.net

finditer 메서드와 for문을 이용했다.

숫자 식별하기

Python에서 문자가 숫자인지 확인 | Delft Stack

 

Python에서 문자가 숫자인지 확인

이 튜토리얼은 파이썬에서 문자가 숫자인지 확인하는 방법에 대해 설명합니다.

www.delftstack.com

isdigit()메서드를 사용했다.


코드

import re

def solution(s):
    answer = ''
    dict = {"zero":"0","one":"1","two":"2","three":"3","four":"4","five":"5","six":"6","seven":"7","eight":"8","nine":"9"}
    pattern = re.compile(r"\d|zero|one|two|three|four|five|six|seven|eight|nine")
    prevEndIdx = 0
    for item in pattern.finditer(s) :
        v = item.group()
        if v.isdigit() :
            answer += v
        else :
            answer += dict.get(v)
    return int(answer)

'PS > 프로그래머스' 카테고리의 다른 글

소수 만들기 (lv1)  (0) 2022.07.03
키패드 누르기 (lv1)  (0) 2022.07.02
신규 아이디 추천 (lv1)  (0) 2022.07.01
로또의 최고순위와 최저순위 (lv1)  (0) 2022.06.30
신고 결과 받기 (lv1)  (0) 2022.06.27