Notice
Recent Posts
Recent Comments
Link
나의 개발일지
[프로그래머스] Lv.2 스킬트리 [Python, 파이썬] 본문
- 문제 : https://school.programmers.co.kr/learn/courses/30/lessons/49993
- 🔑 정규식(re), startswith()
- skill에 주어진 스킬을 제외한 다른 스킬들을 없애기 위해 정규식을 사용
- skill = "CBD" 일 때
- "[^C^B^D]" 이렇게 만들어서 re.sub에 사용
- re.sub( "[^C^B^D]", "", "BACDE")를 사용하면 "BCD"가 남음
- 정규식을 통해 얻은 문자열은 startswith() 함수에 사용
- skill.startswith(s)
- 문자열 skill이 문자열 s로 시작하는지 확인 (Boolean 반환)
- "CBD".startswith("BCD") → "CBD"는 "BCD"로 시작하지 않기 때문에 False
- "CBD".startswith("CB") → "CBD"는 "CB"로 시작하기 때문에 True
- True일 때의 개수를 세면 끝 ✨
- skill에 주어진 스킬을 제외한 다른 스킬들을 없애기 위해 정규식을 사용
import re
def solution(skill, skill_trees):
answer = 0
skill_re = '[' + '^' + '^'.join(skill) + ']' # [^C^B^D]
for i in skill_trees:
s = re.sub(skill_re, "", i)
if skill.startswith(s):
answer += 1
return answer
'프로그래머스' 카테고리의 다른 글
[프로그래머스] Lv.2 롤케이크 자르기 [Python, 파이썬] (0) | 2023.12.18 |
---|---|
[프로그래머스] Lv.3 등굣길 [Python, 파이썬] (1) | 2023.12.18 |
[프로그래머스] Lv.2 뒤에 있는 큰 수 찾기 [Python, 파이썬] (0) | 2023.12.15 |
[프로그래머스] Lv.2 방문 길이 [Python, 파이썬] (0) | 2023.12.15 |
[프로그래머스] Lv.3 최고의 집합 [Python, 파이썬] (1) | 2023.12.15 |
Comments