본문으로 건너뛰기
Minsing Log
뒤로 가기

정규표현식 re

Programming & CS

계기 프로그래머스 우수 코드를 보던중 다트게임에서 정규표현식으로 표현한 코드가 있어서 리뷰중 궁금증 발생

import re


def solution(dartResult):
    bonus = {'S' : 1, 'D' : 2, 'T' : 3}
    option = {'' : 1, '*' : 2, '#' : -1}
    p = re.compile('(\d+)([SDT])([*#]?)')
    dart = p.findall(dartResult)
    for i in range(len(dart)):
        if dart[i][2] == '*' and i > 0:
            dart[i-1] *= 2
        dart[i] = int(dart[i][0]) ** bonus[dart[i][1]] * option[dart[i][2]]

    answer = sum(dart)
    return answer

정규표현식이란?

-> 정규식을 이용하면 많은 양의 텍스트 파일중에서 원하는 데이터를 손쉽게 뽑아낼수 있고, 데이터가 형식에 맞는지 체크 가능


사용법

  1. re module import
  2. 정규식 표현 규칙에 따라서 compile을 하고 findall로 찾기 findall -> https://velog.io/@beanlove97/%ED%8C%8C%EC%9D%B4%EC%8D%AC-findall-%EB%A9%94%EC%84%9C%EB%93%9C

정리

참고문헌

  1. 정규식 내용정리 참조(shaun.log) https://velog.io/@wnsqud70/%EC%A0%95%EA%B7%9C%EC%8B%9D
  2. 코드 https://school.programmers.co.kr/learn/courses/30/lessons/17682/solution_groups?language=python3
  3. 정규식 사용법 https://whatisthenext.tistory.com/116
  4. 베지터 짤 https://www.youtube.com/watch?v=nwhmV-KO1pw

공개 여정 구독

글이 올라오면 이메일로 보내드릴게요.

개발, 창업, 배움, 실패와 회고를 짧고 솔직하게 기록합니다. 검색으로 스쳐가는 독자가 아니라 여정을 따라오는 팬을 만들기 위한 뉴스레터입니다.

뉴스레터는 준비 중입니다. 그동안 RSS 로 구독하거나 이메일 로 알림을 요청해 주세요.


이 글 공유하기:

댓글

GitHub 계정으로 로그인해 댓글을 남길 수 있습니다.


이전 글
enumerate()가 뭐야?
다음 글
Python Class 용어정리