본문 바로가기

Python Challenge 03 :: urlopen, re.findall Challenge 03은 아래와 같습니다. 3명의 Bodyguards에게 둘러 쌓여 있다고 합니다. 감이 오시죠?정규표현식을 쓸때가 왔습니다.아래와 같은 코드를 만들었습니다. 정규표현식을 사용하기 위해서는 re 레퍼런스를 불러와야 합니다.findall() : 정규식과 매치되는 모든 문자열(substring)을 리스트로 리턴너무나 많은 결과가 나왔습니다. 잠시 고민하다가 소스와 매핑시켜보니 3명의 이상의 Boardguard가 있는 경우도 있군요. 따라서 다음과 같은 코드를 만들었습니다. findall() 안에 정규식을 괄호로 묶어주니 묶음마다 tuple로 구분되어 지더군요. Challenge 03 까지 왔으니 좀 더 응용해 봅시다.페이지의 소스를 urllib를 이용하여 자동으로 가져와서 변수에 넣어 보겠습.. 더보기
Python Challenge 02 :: count Challenge 02는 아래와 같습니다. 소스를 봐야겠다는 생각을 할 수 있습니다. 소스를 보면 엄청나게 많은 Characters가 있고 힌트도 포함되어 있습니다.많은 문자 중에 가장 적게 포함된 문자를 찾으면 될 것 같습니다. 저는 아래와 같은 방법으로 해결하였습니다.a 변수에는 문제의 Characters가 들어 있습니다. set() : 집합으로 변환 (집합의 특징 중 하나는 중복을 허용하지 않는다.)count() : 문자 갯수 세기Solution을 보니 굉장히 다양한 풀이 방법들이 존재하는 것 같습니다. 하나씩 공부한다면 많은 도움이 될 것 같습니다. 더보기
Python Challenge 01 :: maketrans 블로그에 글 올릴 마땅한 소재가 없었는데 얼마전 재미있는 python challenge 사이트를 알게되어 블로그에 정리해 봅니다. 언제나 그렇 듯 Challenge 0은 가볍게 뛰어 넘고 시작합니다. 아래와 같은 문제가 나옵니다. 오랜만에 암호학이 떠 오릅니다. 암호학을 공부해 보셨다면 쉽게 접근이 가능한 문제인 것 같습니다.아마 저를 비롯한 대부분의 사람들이 아래와 같은 코드로 접근할 것 같습니다.기본적인 코드에 대해서는 별도로 설명하지 않겠습니다. 손으로 하나하나 푸신 분들은 아마 뜨끔하실 만한 문장이 나오네요 :)그런데 maketrans() 함수를 추천한다고 합니다. 역시 파이썬의 장점이라고 할 수 있는 다양한 레퍼런스를 이용해 풀수 있는 방법이 있었다는 것을 짐작할 수 있습니다.maketrans(.. 더보기