ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 0x03.Python Challenge 3
    0x.Wargame/Python Challenge 2017. 6. 1. 22:02

    0x03.Python Challenge 3

     

     

     

    문제 주소 : http://www.pythonchallenge.com/pc/def/equality.html

     

     


     

    전역도 했고, 6월도 왔으니 3번 문제를 풀어보자 ??!

     

     

    문제를 읽어보니, 소문자의 좌우에 큰덩치가 셋 씩 있단다. 머 해석해보면 소문자를 두고 양 옆에 대문자가 3개씩 있나보다.

    이해를 하자말자 정규 표현식으로 풀어야 되는 문제구나 하는 감이 왔다.

     

     

    역시 소스코드에는 다음과 같이 떡하니 문자들이 블라블라(?) 적혀있다.

     

      [a-z] 

      소문자 a에서 z까지 중 하나의 값을 뜻함

      [A-Z]{3} 

      대문자 A에서 Z사이의 하나의 값이 3번 연속으로 있음을 뜻함

      [0-9]{2~5} 

      숫자가 2~5번 반복됨 

      ^abc 

      abcde, abcfx와 같이 abc로 시작하는 단어를 찾을 때 사용 

     

     

    다음은 아주 기초적인 정규 표현식들을 정리한 표이다. 4가지만 간추려보았는데 이 정도만 알아도 문제를 풀 수 있을 만큼 아주 쉬운 문제라는 뜻이다 ㄷㄷ.

     

     

    짜잔~!

     

    [a-z][A-Z]{3}[a-z][A-Z]{3}[a-z] 를 해석해보자면,

     

    소문자 값 뒤에 대문자 값이 3개가 오고 그 다음에 소문자 값이 오고 다시 대문자 값이 3개가 오고 소문자 값이 오는 것을 찾아라구...

     

    어쨋든 그렇게 찾아보았더니 qIQNlQSLi 등 10개의 패턴들을 찾을 수 있었다. 하지만 프로그래머가 일일히 중간값을 확인하긴 좀 그렇잖아요. 그래서 중간에 ( [a-z] ) 로 소괄호를 포함시켜 특정 값만 저장하도록 했고, linkedlist라는 값을 찾을 수 있었다는거!.

     

    '0x.Wargame > Python Challenge' 카테고리의 다른 글

    0x05.Python Challenge 5  (0) 2017.06.08
    0x04.Python Challenge 4  (0) 2017.06.07
    0x02.Python Challenge 2  (0) 2017.05.09
    0x01.Python Challenge 1  (0) 2017.05.05
    0x00.Python Challenge 0  (0) 2017.05.03

    댓글

Designed by Tistory.