본문 바로가기
CTF/PythonChallenge

[PCC] PythonChallenge Level 3 problem-soving

by 선인장 🌵 2022. 8. 7.
728x90
728x90

Level 3 problem-soving

바로 전에 Level 2 문제에 대해서 풀어 보았다.

생각보다 한 번에 풀려서 바로 Level 3 문제에 대해서 도전해보았다.

[PCC] PythonChallenge Level 2 problem-soving

Level 2 problem-soving 바로 전에 Level 1 문제에 대해서 풀어 보았다. [PPC] pythonchallenge Level 1 problem-soving Level 1 problem-soving 바로 전에 Level 0 문제에 대해서 풀어 보았다. [PPC] Level 0 pro..

happylie.tistory.com

이번에는 Level 3 문제에 대해서 풀어 보도록 하자.

[PCC] PythonChallenge Level 3 problem-soving

1. 문제 확인

Level 2 문제를 풀고 나서 확인된 Level 3 문제의 주소는 아래와 같다.

re

www.pythonchallenge.com

1. 문제 확인
1. 문제 확인

일단 문제는 확인하였고 화면에는 Level 2 문제와 비슷하게 노란색으로 작성된 내용들을 확인할 수 있었다.

728x90

2. 풀이 과정

문제를 보고 우선 노란색으로 작성된 내용에 대해서 확인해 보았다.

"One small letter, surrounded by EXACTLY three big bodyguards on each of its sides. (양쪽에 정확히 세 명의 큰 보디가드가 둘러싸고 있는 작은 글자 하나.)"

일단 해당 내용에 대해서 어떤 의미를 가지고 있는지 바로 알 수가 없었다.

Level 1 문제과 동일하게 우선 페이지 소스에 무언가 있을까 한번 확인해보았다.

역시 페이지 소스에 화면에 표현된 HTML 내용을 제외하고 주석으로 처리된 대소문자로 작성된 영문자들을 확인할 수 있었다.

2. 풀이 과정
2. 풀이 과정

아직 현재 내용만 보고는 어떤 문제인지 감이 오지 않았다.

잠시 페이지를 보면서 잠시 생각해보니 이미지는 양쪽에 3개의 큰 초가 있고 그 가운데 작은 1개의 초가 있었다.

노란색으로 작성된 내용 역시 양쪽에 세명의 큰 보디가드 둘러싸고 있고 그 안에 작은 글자가 있다는 의미였다.

주석으로 처리된 대, 소문으로 작성된 영문을 대문자 3개 / 소문자 1개 / 대문자 3개로 된 내용을 찾는 것으로 이해하였다.

그럼 일단 대문자 3개 / 소문자 1개 / 대문자 3개 나눌 수 있는 부분이 있는지 파이썬 코드를 먼저 작성해 보도록 하자.

그리고 결정적으로 해당 HTML Title에 "re"라고 표기돼있었다.

아마도 re 모듈을 사용하라는 힌트이지 않을까 생각되었다.

text_str.txt
0.10MB

#!/usr/bin/python
# -*- coding: utf-8 -*-
import re


if __name__ == "__main__":
    f = open('text_str.txt', 'r')
    data = f.read()
    f.close()

    # Challenge_1st
    c1 = re.findall('[A-Z]{3}[a-z]{1}[A-Z]{3}', data)
    print(c1)
    c1_1 = re.findall('[a-z]{1}', str(c1))
    print(c1_1)
    print(''.join(c1_1))
    print(set(c1_1))
    
    
### OUTPUT ###
['WDZjUZM', 'JVVfEGR', 'SHPeKUJ', 'FBKiLSF', 'CGYaMNK', 'JIPuOHY', 'SJFzWSG', 'MZLrORO', 'IKHoWJZ', 'YTYiWIU', 'TLKvIPG', 'RPBgLPD', 'MXVzDPO', 'OXObJYI', 'MTCmGEH', 'PCDpHIV', 'YXLsUFT', 'CVKzIKJ', 'BFXaYKG', 'NNWzBFX', 'IQNlQSL', 'ACBuUJT', 'DBDtODU', 'UCSnAYQ', 'OLAwLQA', 'KDZsHQJ', 'ZXYdEHG', 'IHToMPG', 'UQFfVTU', 'XRGbNVK', 'LRYiYTJ', 'CAQwPFN', 'GNBqQTC', 'PDOdOXV', 'XORjWFT', 'RRObZUL', 'WDXzQOP', 'LHGsDZT', 'MXThWAR', 'SVWfOVI', 'SXUrANU', 'QMTbPFZ', 'XGIlRQO', 'KCCqLRG', 'IQAgTRK', 'UPYsYXG', 'DSDbLUG', 'XQOySOM', 'LOLdUQS', 'AESaDJI', 'LNVjEFL', 'CDNyXWN', 'UKEgXHR', 'FNCcVOV', 'WLIbUNI', 'XSDjVKV', 'ASGwZRW', 'XYRgBKH', 'ABUgWAF', 'XTWtAIW', 'KELdJFJ', 'IKXfKWM', 'ZVCjITM', 'PQZeKCA', 'HEAoCAQ', 'RJObKIN', 'SKBcIAF', 'WXLmTNJ', 'FWXdDNM', 'YVDlHSJ', 'IPZzTFM', 'BEMxBOJ', 'JHEaTDU', 'OVQjHOE', 'DTSvTPR', 'OEKiVEY', 'UIOtZAU', 'PJEeEMI', 'HWDcPDF', 'ZQCgQSB', 'RTSpERU', 'VKRkWJM', 'EGBcCAG', 'SXWfEZE', 'VSJwVPY', 'AZKqIHW', 'PUObBDZ', 'GTPvPUO', 'PXGkQDZ', 'SNLoZJJ', 'CAEiFTL', 'XFIeHWG', 'GMVtPCG', 'IYNpXMB', 'UZViUEX', 'QDKiKKT', 'HTLjVWB', 'FYCaBIW', 'ZADnMCZ', 'EYAvUSH', 'GTVqDVS', 'FDLjSMM', 'NEDjFZV', 'DBWgVAN', 'NBUtKHL', 'QMGcYHY', 'QXFpLMM', 'SLUaXXK', 'JKEdFJW', 'PRLjJDN', 'UVWkQDH', 'QWLgNEG', 'JPKcMEL', 'OAQlLBD', 'JAAuKPQ', 'KNHaHKY', 'TSYiNYK', 'YJUdHVA', 'EZEgIGB', 'HYAuZPF', 'THTmACE', 'MKTcZVQ', 'KYZdJQS', 'DDGsIBJ', 'AULkFOQ', 'OBUuMKP', 'EJKnFQX', 'GTVuBJZ', 'WKZjOTW', 'MNXfPJM', 'NHIcELN', 'YHIjLAC', 'SHJfNEE', 'QBTmYYY', 'YLAbOSY', 'PWYzVIO', 'ZUTkLYN', 'YKPzFMD', 'DEGsFLB', 'NCWaQUF', 'LGDsOEY', 'ECLdLHW', 'QZKxPRV', 'QLRsVXI', 'WCFqMLC', 'FSIqLBG', 'IFEqJLE', 'FPAlGBE', 'NWFaNWV', 'JIYeUSB', 'CWQiPOV', 'ACPsGXR', 'ZJLjHVQ', 'WLTeENK', 'CWNfBYQ', 'XUCjSLA', 'OLKfMXS', 'CDXdUJT', 'RSMaQTH', 'FGOoNZD', 'GDNlZHY', 'YYKjVVN', 'SZOaOFV', 'TQByQDQ', 'ZRXwABR', 'BAVxLDL', 'RBCjOHL', 'GSKtHQY', 'PTOhTHJ', 'GJRqBSD', 'DGLjKQU', 'ZRDkCBM', 'MUTnFHY', 'CNDeHSB', 'OMFdRKD', 'HTGnTGD', 'KAXxUFR', 'ZVGnLNM', 'VARsYBD', 'ELIaZZI', 'TVOhUSE', 'GFXxWDH', 'AHSqRLM', 'QPSePPO', 'YIHdITM', 'DDDoJOC', 'ZKVeRHW', 'CNCqRIC', 'NLEsMBB', 'JSAdUJB', 'ONCcHWQ', 'CRVmYCL', 'ICAlNMW', 'LZAtOWE', 'JGScCMT', 'AGAsECC', 'NBUnHUK', 'DMXwJDC', 'GGQaGTA', 'WKKkAAR', 'CPJjGAG', 'VANxBIX', 'PNKtGUS', 'JQXyKQW', 'ANUtZGI', 'PBNaHRL', 'JWHaWPL', 'GFOlJBT', 'SXHhENS', 'JJHgUII', 'DFPaUJA', 'WKYbIVE', 'HBKeQQW', 'DRCkFTD', 'DDQfWAQ', 'SIImGLV', 'SZNyRRA', 'VUHiXUX', 'VARmCCL', 'PICwBIX', 'QZJrDUA', 'PCXkYZT', 'KGLfRDR', 'SFAfAIX', 'GXKyJFK', 'OIXdKBF', 'ZGQgMFY', 'TLKhCGF', 'SBAiJWU', 'NRRuBZQ', 'IIRnJNC', 'XJVlGZV', 'CYPrCXG', 'OQHiHBB', 'XMAwKHW', 'OEOgMZP', 'YRKkDMH', 'DPYuULW', 'WYRzPCG', 'CFQqTUN', 'JCAlMGL', 'PGTjUOC', 'LRFjSNB', 'FCIbBTX', 'LLNsDPL', 'ZDVxSYZ', 'XIRgQYX', 'KEJuOWV', 'LXJyYAW', 'QMKtBBB', 'OJMfOOP', 'UZGsIET', 'VZBaRZT', 'OCEtVLG', 'WLReIRI', 'PTTjMAS', 'TLWmJBN', 'VIDdPDI', 'JVCwAWS', 'AXYkXBH', 'DAPfFTC', 'FBAbJXZ', 'YLBzULE', 'DCEiAXS', 'YQXfOZG', 'PQAdFDS', 'FOAkMWQ', 'ERDnCBU', 'TYFpCSC', 'VQXcLEU', 'ZEFqJCJ', 'CBOiPEU', 'IUPmKEQ', 'TEEvIHF', 'HYVeACQ', 'WMHhZNF', 'RSWxBYB', 'ZXJuPSE', 'OQHjRBE', 'BPEsCON', 'DNYzVYH', 'QIKbQHC', 'YZKuDDN', 'ESYyIPT', 'KJIuOSH', 'CRTtYTP', 'EKJsDCK', 'MTQoUZE', 'NHHmSTN', 'NSTpVJP', 'HQLiRTX', 'DSLjIWQ', 'AEDjHDH', 'KHCoXNO', 'LEXjYGJ', 'RNPsBHB', 'BZEpFCI', 'GFFbDFD', 'MLIwWCV', 'NPVlBBZ', 'LEXrKEC', 'TLWoPNH', 'UXDeAEH', 'WIKfXNU', 'EFAiJAU', 'DQSwCYY', 'ZEPmPJW', 'JHJrVOI', 'JNVsVGT', 'BFGjQFN', 'JFYsKLP', 'ZPYtRLK', 'PFYdKVB', 'WZLjLMH', 'KBFhJKR', 'WIKfMRV', 'MFMwGFS', 'ZKXxVYU', 'CNLhKVE', 'NJLnXXC', 'PZTtECM', 'XFOhTMG', 'KNDsXSD', 'AYToUOW', 'OSSoWET', 'RNEsAHO', 'QRUmXIC', 'PGLoJCJ', 'QIXqOJG', 'NZQtPEN', 'SHUuCBP', 'ELAfULK', 'KJIoNFQ', 'NPPxDCD', 'OAIvBSX', 'JTRpCEV', 'IWGvWHP', 'XUNpROG', 'RCXjXKH', 'RRKkWXC', 'NXGgETO', 'VCCiLRQ', 'VCJaEWZ', 'GUHqKJB', 'LTWgRFX', 'LQJfSMM', 'XBCrOBW', 'ZJAhSER', 'CZYuFTF', 'DTGfQHQ', 'EMVxNDF', 'STHxGXD', 'JVYdQED', 'FWQnNPM', 'GQRjMHX', 'IYRiDGE', 'ILDwEWY', 'VFZtWQS', 'LALfWOD', 'STAqEQT', 'VNNuPAE', 'CKQsBRP', 'COPbIJW', 'XLWkLNU', 'HBBeGLO', 'MABaVFA', 'YSIkKXL', 'YOWuZNF', 'QXBnIDG', 'NAFjMTZ', 'AVMgBDR', 'EABkHBQ', 'JVMnJRZ', 'UYWpXEN', 'SJDiEWK', 'CFHbQNV', 'CBEkSHG', 'WWOlYJW', 'SKOgMOE', 'XGUjJLA', 'OYGoCZH', 'VCQuZNT', 'TIGnHUG', 'GMEiHOI', 'PHZvJAM', 'BLMhVIP', 'DFAgZAG', 'EHDxVQP', 'QSJsXUF', 'CIYnXKC', 'BCUeKMQ', 'MYQkHTS', 'MMCxGWO', 'KXPgVYD', 'JHJrRAB', 'JDCrDPM', 'AJYbABW', 'CJAsACF', 'LIQlAIV', 'SSRpDMV', 'ABNuEDK', 'PJPaHMP', 'ZRRoKXE', 'XDVuMRA', 'BCDvWFD', 'IZPhBQX', 'BHRzWGR', 'CJObWSA', 'GPRiOML', 'VMYlNXC', 'FUFbQVC', 'VNZiYSW', 'GFCrPVB', 'UWWmNCM', 'VDJqRQK', 'BDVqKNC', 'RFNxVYB', 'VGJtVJO', 'JFFkCSV', 'KTFtKUB', 'CKHgYSM', 'LGDcKSH', 'MIZnHYH', 'SGOkGDP', 'VJPdHRP', 'TFDlMGV', 'FAVjEXP', 'ZQXoQQZ', 'YYHaTHC', 'FISsZMF', 'UARnYFW', 'EAYeGJO', 'QJFxLWD', 'RMGwOQE', 'KWGtIDC', 'EPQgRAE', 'MJIvBUP', 'DHLwDZO', 'ANSjBWB', 'VHNeOLP', 'TSDgPYL', 'WHFuVJA', 'LKUrTED', 'WANnCGX', 'WMKkOGI', 'BYFsUHC', 'KXYoYRS', 'AFAkVVU', 'GKOjIHO', 'EOCtNRY', 'XYDrIKP', 'YJHoHJF', 'SJSvHOB', 'JBQpBDU', 'KAYmZAE', 'XFXyUYU', 'HZKkLDA', 'JKBzIWH', 'IXQgNXE', 'ZMIeASQ', 'OZZoYMI', 'FHZlOVN', 'UVWwRMF', 'ISNyMSJ', 'URDsKBL', 'UIWfYFY', 'SVViSLM', 'OYHdDEW', 'QWAeYOY', 'JBImSUX', 'ZSWfJDM', 'CXZlEET', 'CFZmLTJ', 'YULkVBM', 'GRUwIYK', 'GVDmUUX', 'CGUjGBB']
['j', 'f', 'e', 'i', 'a', 'u', 'z', 'r', 'o', 'i', 'v', 'g', 'z', 'b', 'm', 'p', 's', 'z', 'a', 'z', 'l', 'u', 't', 'n', 'w', 's', 'd', 'o', 'f', 'b', 'i', 'w', 'q', 'd', 'j', 'b', 'z', 's', 'h', 'f', 'r', 'b', 'l', 'q', 'g', 's', 'b', 'y', 'd', 'a', 'j', 'y', 'g', 'c', 'b', 'j', 'w', 'g', 'g', 't', 'd', 'f', 'j', 'e', 'o', 'b', 'c', 'm', 'd', 'l', 'z', 'x', 'a', 'j', 'v', 'i', 't', 'e', 'c', 'g', 'p', 'k', 'c', 'f', 'w', 'q', 'b', 'v', 'k', 'o', 'i', 'e', 't', 'p', 'i', 'i', 'j', 'a', 'n', 'v', 'q', 'j', 'j', 'g', 't', 'c', 'p', 'a', 'd', 'j', 'k', 'g', 'c', 'l', 'u', 'a', 'i', 'd', 'g', 'u', 'm', 'c', 'd', 's', 'k', 'u', 'n', 'u', 'j', 'f', 'c', 'j', 'f', 'm', 'b', 'z', 'k', 'z', 's', 'a', 's', 'd', 'x', 's', 'q', 'q', 'q', 'l', 'a', 'e', 'i', 's', 'j', 'e', 'f', 'j', 'f', 'd', 'a', 'o', 'l', 'j', 'a', 'y', 'w', 'x', 'j', 't', 'h', 'q', 'j', 'k', 'n', 'e', 'd', 'n', 'x', 'n', 's', 'a', 'h', 'x', 'q', 'e', 'd', 'o', 'e', 'q', 's', 'd', 'c', 'm', 'l', 't', 'c', 's', 'n', 'w', 'a', 'k', 'j', 'x', 't', 'y', 't', 'a', 'a', 'l', 'h', 'g', 'a', 'b', 'e', 'k', 'f', 'm', 'y', 'i', 'm', 'w', 'r', 'k', 'f', 'f', 'y', 'd', 'g', 'h', 'i', 'u', 'n', 'l', 'r', 'i', 'w', 'g', 'k', 'u', 'z', 'q', 'l', 'j', 'j', 'b', 's', 'x', 'g', 'u', 'y', 't', 'f', 's', 'a', 't', 'e', 'j', 'm', 'd', 'w', 'k', 'f', 'b', 'z', 'i', 'f', 'd', 'k', 'n', 'p', 'c', 'q', 'i', 'm', 'v', 'e', 'h', 'x', 'u', 'j', 's', 'z', 'b', 'u', 'y', 'u', 't', 's', 'o', 'm', 'p', 'i', 'j', 'j', 'o', 'j', 's', 'p', 'b', 'w', 'l', 'r', 'o', 'e', 'f', 'i', 'w', 'm', 'r', 's', 'j', 's', 't', 'd', 'j', 'h', 'f', 'w', 'x', 'h', 'n', 't', 'h', 's', 'o', 'o', 's', 'm', 'o', 'q', 't', 'u', 'f', 'o', 'x', 'v', 'p', 'v', 'p', 'j', 'k', 'g', 'i', 'a', 'q', 'g', 'f', 'r', 'h', 'u', 'f', 'x', 'x', 'd', 'n', 'j', 'i', 'w', 't', 'f', 'q', 'u', 's', 'b', 'k', 'e', 'a', 'k', 'u', 'n', 'j', 'g', 'k', 'n', 'p', 'i', 'b', 'k', 'l', 'g', 'j', 'o', 'u', 'n', 'i', 'v', 'h', 'g', 'x', 's', 'n', 'e', 'k', 'x', 'g', 'r', 'r', 'b', 's', 'l', 'p', 'u', 'a', 'o', 'u', 'v', 'h', 'z', 'b', 'i', 'l', 'b', 'i', 'r', 'm', 'q', 'q', 'x', 't', 'k', 't', 'g', 'c', 'n', 'k', 'd', 'l', 'j', 'o', 'a', 's', 'n', 'e', 'x', 'w', 't', 'g', 'v', 'w', 'j', 'e', 'g', 'u', 'r', 'n', 'k', 's', 'o', 'k', 'j', 't', 'r', 'o', 'v', 'p', 'm', 'y', 'k', 'z', 'g', 'e', 'o', 'l', 'w', 'y', 's', 'f', 'i', 'd', 'e', 'm', 'f', 'l', 'm', 'k', 'w', 'm', 'j']
jfeiauzroivgzbmpszazlutnwsdofbiwqdjbzshfrblqgsbydajygcbjwggtdfjeobcmdlzxajvitecgpkcfwqbvkoietpiijanvqjjgtcpadjkgcluaidgumcdskunujfcjfmbzkzsasdxsqqqlaeisjefjfdaoljaywxjthqjknednxnsahxqedoeqsdcmltcsnwakjxtytaalhgabekfmyimwrkffydghiunlriwgkuzqljjbsxguytfsatejmdwkfbzifdknpcqimvehxujszbuyutsompijjojspbwlroefiwmrsjstdjhfwxhnthsoosmoqtufoxvpvpjkgiaqgfrhufxxdnjiwtfqusbkeakunjgknpibklgjounivhgxsnekxgrrbslpuaouvhzbilbirmqqxtktgcnkdljoasnexwtgvwjegurnksokjtrovpmykzgeolwysfidemflmkwmj
{'m', 'z', 'b', 'p', 'y', 'a', 'u', 'g', 'q', 'r', 'o', 'w', 'k', 'd', 'j', 'h', 'f', 's', 'l', 't', 'i', 'e', 'v', 'x', 'n', 'c'}
728x90

이걸로는 먼가 유추를 할 수 있는 내용이 보이지 않았다.

2. 풀이 과정

일단 주석 처리된 내용을 좀 다시 살펴보았다.

그랬더니 대문자 3개 / 소문자 1개 / 대문자 3개로만 처리된 것 이외 옆에 대문자들 존재하는 문자열도 분명히 있음을 확인하였다.

그래서 다시 한번 생각을 곰곰이 해보니 소문자 1개 / 대문자 3개 / 소문자 1개 / 대문자 3개 / 소문자 1개 이렇게 이뤄진 대상을 먼저 뽑아내야 정확히 대문자 3개 / 소문자 1개 / 대문자 3개로 이뤄진 문자열들을 정확히 찾을 수 있을 것 같았다.

조금 더 쉽게 설명하자면 ZABCzAAA 라는 문자열은 대문자 3개 / 소문자 1개 / 대문자 3개 기준에 맞지 않는 것이다.

위에 코드처럼 "[A-Z]{3}[a-z]{1}[A-Z]{3}"와 같은 기준으로 출력한다면 ZABCzAAA 문자열도 포함될 수 있다.

결국 정확한 기준으로 추출을 하기 위해서는 먼저 "[a-z][A-Z]{3}[a-z]{1}[A-Z]{3}[a-z]"와 같이 정확히 기준에 맞는 대상을 추출해야 그 후 다른 무언가를 유추할 수 있을 것이라 생각되었다.

그럼 다시 한번 코드를 작성해 보도록 하자.

#!/usr/bin/python
# -*- coding: utf-8 -*-
import re


if __name__ == "__main__":
    f = open('text_str.txt', 'r')
    data = f.read()
    f.close()

    # Challenge_2nd
    c2 = re.findall('[a-z][A-Z]{3}[a-z]{1}[A-Z]{3}[a-z]', data)
    print(c2)
    c2_2 = re.findall('[A-Z]{3}[a-z]{1}[A-Z]{3}', str(c2))
    print(c2_2)
    c2_3 = re.findall('[a-z]{1}', str(c2_2))
    print(c2_3)
    print(''.join(c2_3))
    
    
    
### OUTPUT ###
['qIQNlQSLi', 'eOEKiVEYj', 'aZADnMCZq', 'bZUTkLYNg', 'uCNDeHSBj', 'kOIXdKBFh', 'dXJVlGZVm', 'gZAGiLQZx', 'vCJAsACFl', 'qKWGtIDCj']
['IQNlQSL', 'OEKiVEY', 'ZADnMCZ', 'ZUTkLYN', 'CNDeHSB', 'OIXdKBF', 'XJVlGZV', 'ZAGiLQZ', 'CJAsACF', 'KWGtIDC']
['l', 'i', 'n', 'k', 'e', 'd', 'l', 'i', 's', 't']
linkedlist

이번에는 "linkedlist" 단어를 유추할 수 있었다.

다만, l 과 i 소문자는 2개로 인해서 "li"가 답일수도 있어서 먼저 li.html을 URL에 넣어 보았다.

2. 풀이 과정
2. 풀이 과정

"li.html"은 정답이 아니었다. 그럼 이제 유추된 단어를 URL에 넣어 보았다.

2. 풀이 과정
2. 풀이 과정

linkedlist.php라는 내용이 나와서 다시 한번 URL에 넣어 보았다.

2. 풀이 과정
2. 풀이 과정

입력한 URL에서 Level 4 문제가 나왔다.

Level 3 문제를 해결하였다.

생각보다 많은 고민을 하게 되었는데 순간 눈에 보였던 대문자들이 여러 개 있는 부분 때문에 풀었다.

조금 더 다시 생각해볼 부분이 많은 문제인것 같다. 우연한 기회로 풀었던 터라 명쾌하지 않아 풀이에 대해서 정리하면서도 사실 조금 찝찝하다.

추후 명쾌한 풀이 과정이 생각난다면 다시 한번 정리하도록 하겠다.

일단 해결을 위해서 작성한 코드에 대해서는 Github을 통해서 확인할 수 있다.

GitHub - happylie/pythonchallenge_code: Problem solving code for pythonchallenge.com site(pythonchallenge.com 사이트 문제

Problem solving code for pythonchallenge.com site(pythonchallenge.com 사이트 문제 풀이) - GitHub - happylie/pythonchallenge_code: Problem solving code for pythonchallenge.com site(pythonchallenge.com 사이트 ...

github.com

앞으로도 계속 천천히 풀어나가면서 풀었던 내용에 대해서는 잘 작성해보도록 하겠다.

728x90
728x90


🌵댓글

 

loading