오늘 공부한 정규표현식 조금 연습하다
어제 성수낙낙에서 풀었던 GDSC Contest 문제가 생각나서 대충 코드 적고 돌렸는데 공부하길 잘 한듯 :)
이정도면 Pythonic하게 코드 작성한 것 같은데..?
벌써부터 이정도면 정규표현식 스터디에서 얻어 가는 것이 많아서 좋다 헤헤
# [GDSC X Elice] Programming Contest 1번 낙낙
# 장소를 영어로 표기하였을 때, 해당 문자열에서 일부 글자들을 지워 “naknak” 라는 문자열을 만들 수 있다면,
# 우리는 이 장소가 '낙낙' 한 장소라고 부릅니다.
# 어떤 장소를 빌릴 때, 그 장소가 '낙낙' 하지만 '낙낙낙' 하지 않은 장소인 경우에만 대여하려고 합니다.
# Before (Counting)
def solution(buildings):
res, nak = [], ['n', 'a', 'k']
for string in buildings:
tmp = ''
for i in string:
if i in nak:
tmp += i
if tmp.count('nak') == 2:
res.append("O")
else:
res.append("X")
return res
# After (Regex)
import re
def solution(buildings):
return ['O' if len(re.findall(r'n.*?a.*?k', s)) == 2 else 'X' for s in buildings]
오늘의 TMI) 컨테스트 장소 건물 이름이 성수'낙낙'