์ด๋ฒ ํฌ์คํธ์์๋ Python Challenge์ Level 24 ๋ฌธ์ ์ ๋ํด ๋ค๋ฃจ๊ฒ ๋ค. ๋ฌธ์ ๋ฅผ ํด๋ฆญํ๋ฉด ๋ค์๊ณผ ๊ฐ์ ํ์ด์ง๊ฐ ์ถ๋ ฅ๋๋ค. ## ๋ฌธ์ ํด์ : ๋ฏธ๋ก ์ฌ์ง์ด ์ถ๋ ฅ๋์ด ์๋ค. ์ฐ์ ํด๋น ๋ฏธ๋ก์ ์์๊ณผ ๋์ ์ฐพ์ ๋ค์์ ๋ฏธ๋ก๋ฅผ ํ๋ฉด ๋๋ ๊ฒ์ผ๋ก ๋ณด์ธ๋ค. ## ๋ฌธ์ ํ์ด : ์ฐ์ ํ์ด์ฌ์ ํตํด ๋ฏธ๋ก์ ์์์ ๊ณผ ๋์ ์ ์์๋ด๋ณด๊ฒ ๋ค. ### ๊ณต๊ฒฉ ์ฝ๋ : from PIL import Image maze = Image.open("maze.png") w, h = maze.size for i in range(w): # Top line print(maze.getpixel((i, 0))) print("================= Top, Bottom ๊ตฌ๋ณ ์ =================") for i ..
์ด๋ฒ ํฌ์คํธ์์๋ Python Challenge์ Level 23 ๋ฌธ์ ์ ๋ํด ๋ค๋ฃจ๊ฒ ๋ค. ๋ฌธ์ ๋ฅผ ํด๋ฆญํ๋ฉด ๋ค์๊ณผ ๊ฐ์ ํ์ด์ง๊ฐ ์ถ๋ ฅ๋๋ค. ## ๋ฌธ์ ํด์ : ์ ์ฌ์ง์ด ์ถ๋ ฅ๋์ด ์๋ค. ๊ฐ๋ฐ์ ๋๊ตฌ๋ฅผ ํ์ธํ๋ฉด ๋ค์๊ณผ ๊ฐ์ ๋ฌธ์ฅ๋ค์ ๋ณผ ์ ์๋ค. TODO : ์ฌ๊ณผ๋ฅผ ๊ตฌํด์ผ ํ ์ผ์ด ์์๋์? ์ง๊ธ์ด ๋ฐ๋ก ๊ทธ ์ฌ๋์๊ฒ ์ฌ๊ณผ๋ฅผ ํ ์ข์ ์๊ฐ์ด๋น๋ค. ์ด ๋ ๋ฒจ์์ ํ ์ผ์ด ๋ฑํ ์๋๋ผ๋ ๊ทธ์ฌ๋์๊ฒ ์ข์ ๋งค๋๋ฅผ ๋ณด์ฌ์ฃผ์ธ์. "this"๋ ๋ฌธ์ํ๋์ง ์๋ ๋ชจ๋์ด๋ค. 'va gur snpr bs jung?' "this"๋ผ๋ ํ์ด์ฌ์ ๋ชจ๋์ ํ์ธํ๊ณ , ์ธ ๋ฒ์งธ ๋ฌธ์ฅ์ ํด์ํ๋ฉด ๋ ๊ฒ์ผ๋ก ๋ณด์ธ๋ค. ## ๋ฌธ์ ํ์ด : ์ฐ์ ํ์ด์ฌ์ "this" ๋ชจ๋์ ํ์ธํด๋ณด๊ฒ ๋ค. ### ์คํ ๊ฒฐ๊ณผ : this๋ ํ์ด์ฌ์ ํน์ ๋ชจ๋์ด๋ค. ๋ํ..
์ด๋ฒ ํฌ์คํธ์์๋ Python Challenge์ Level 22 ๋ฌธ์ ์ ๋ํด ๋ค๋ฃจ๊ฒ ๋ค. ๋ฌธ์ ๋ฅผ ํด๋ฆญํ๋ฉด ๋ค์๊ณผ ๊ฐ์ ํ์ด์ง๊ฐ ์ถ๋ ฅ๋๋ค. ## ๋ฌธ์ ํด์ : ์กฐ์ด์คํฑ ์ฌ์ง์ด ์ถ๋ ฅ๋์ด ์๋ค. ๊ฐ๋ฐ์ ๋๊ตฌ๋ฅผ ์ด์ด๋ณด๋ฉด ๋ค์๊ณผ ๊ฐ๋ค. "white.gif"๊ฐ ์กด์ฌํ ๊ฒ์ ์ ์ ์๋ค. ํด๋น GIF ํ์ผ์ ๋ค์ด๋ก๋ ํด๋ณด๋ฉด ๋ค์๊ณผ ๊ฐ๋ค. GIF ํ์ผ์ ๋ฐ๊ธฐ๋ฅผ ์กฐ์ ํด๋ณด๋ฉด ์๋์ ๊ฐ์ด ์ฌ๋ฌ ๊ฐ์ ์ ์ด ์กด์ฌํ๋ค๋ ๊ฒ์ ์ ์ ์๋ค. ํด๋น ์ ๋ค์ ์์น๋ฅผ ์กฐ์ฌํ๊ณ ์ด์ด๋ณด๋ฉด ๋ ๊ฒ ๊ฐ๋ค. ## ๋ฌธ์ ํ์ด : ์ฐ์ ํ์ด์ฌ์ ํตํด ํด๋น ํ์ผ์ ํ๋ ์๋ค์ ์ถ๋ ฅํด๋ณด๊ฒ ๋ค. ### ๊ณต๊ฒฉ ์ฝ๋ : from PIL import Image with Image.open("white.gif") as gif: for f in range(gif.n_..
์ด๋ฒ ํฌ์คํธ์์๋ Python Challenge์ Level 21 ๋ฌธ์ ์ ๋ํด ๋ค๋ฃจ๊ฒ ๋ค. ๋ฌธ์ ๋ฅผ ํด๋ฆญํ๋ฉด ๋ค์๊ณผ ๊ฐ์ ํ์ด์ง๊ฐ ์ถ๋ ฅ๋๋ค. ## ๋ฌธ์ ํด์ : ํ์ผ์ HexEditor๋ก ์คํํ๋ฉด ๋ค์๊ณผ ๊ฐ๋ค. ํค๋์ ์์๋ถ๋ถ์ 78 9c์ด๋ค. ์ด๋ zlib์ ํ์ฅ์์ด๋ฏ๋ก ํด๋น ํ์ผ์ ํ์ฅ์๋ณ๋ก ์์ถ ํด์ ํ๋ฉด ๋๋ ๊ฒ์ผ๋ก ๋ณด์ธ๋ค. ## ๋ฌธ์ ํ์ด : ํ์ด์ฌ์ ํตํด ํด๋น ํ์ผ์์ ๋ชจ๋ ํ์ฅ์๋ฅผ ํ๋์ฉ ํ์ธํด๋ณด๊ฒ ๋ค. ### ๊ณต๊ฒฉ ์ฝ๋ : import zlib with open("package.pack", "rb") as f: data = f.read() while 1: try: data = zlib.decompress(data) print(data[0:2]) except: break ### ์คํ ๊ฒฐ๊ณผ : x9c..
์ด๋ฒ ํฌ์คํธ์์๋ Python Challenge์ Level 20 ๋ฌธ์ ์ ๋ํด ๋ค๋ฃจ๊ฒ ๋ค. ๋ฌธ์ ๋ฅผ ํด๋ฆญํ๋ฉด ๋ค์๊ณผ ๊ฐ์ ํ์ด์ง๊ฐ ์ถ๋ ฅ๋๋ค. ## ๋ฌธ์ ํด์ : "์ฃผ์ ๊น๊ฒ ์ดํด๋ณด๋ ๊ฒ์ ํ์ฉํ๋ค"๋ ๋ง๊ณผ ํจ๊ป ๊ฒฝ๊ณ ํ ์ฌ์ง์ด ์ถ๋ ฅ๋์ด ์๋ค. ๊ฐ๋ฐ์ ๋๊ตฌ๋ฅผ ํ์ธํด๋ณด๊ฒ ๋ค. "unreal.jpg"๋ง๊ณ ๋จ์๊ฐ ์๋ค. ์ฌ๊ธฐ์ ํด๋น ์ฌ์ง์ ํค๋ ๋ถ๋ถ์ ํ์ธํด๋ณด๋ฉด ๋ค์๊ณผ ๊ฐ๋ค. Response Headers๊ฐ ์กด์ฌํ๋ค. ๋ํ ํ์ผ์ ํฌ๊ธฐ๋ 2123456789์ด์ง๋ง ์ค์ง 0-30202๋ง ์ ๊ณต๋๋ค๋ ๊ฒ๋ ํ์ธํ ์ ์๋ค. ํ์ผ์ 30203๋ถํฐ ํ์ธํด๋ณด๋ฉด ๋ ๊ฒ ๊ฐ๋ค. ## ๋ฌธ์ ํ์ด : ํ์ด์ฌ์ ํตํด 30203๋ถํฐ์ ๋ฐ์ดํฐ๋ฅผ ํ์ธํด๋ณด๊ฒ ๋ค. ### ๊ณต๊ฒฉ ์ฝ๋ : import re import urllib.request imp..
์ด๋ฒ ํฌ์คํธ์์๋ Python Challenge์ Level 19 ๋ฌธ์ ์ ๋ํด ๋ค๋ฃจ๊ฒ ๋ค. ๋ฌธ์ ๋ฅผ ํด๋ฆญํ๋ฉด ๋ค์๊ณผ ๊ฐ์ ํ์ด์ง๊ฐ ์ถ๋ ฅ๋๋ค. ## ๋ฌธ์ ํด์ : ์ธ๋ ์ฌ์ง์ด๋ค. ๊ฐ๋ฐ์ ๋๊ตฌ๋ฅผ ํ์ธํด๋ณด๋ฉด ์๋์ ๊ฐ์ด MIME ํ์ ์ ์ด๋ฉ์ผ์ด ๋ณด์ธ๋ค. ์ด๋ฉ์ผ ๋ณธ๋ฌธ์ ๋ฐ์ดํฐ๋ฅผ ์ด์ฉํ์ฌ ํธ๋ฉด ๋ ๊ฒ์ผ๋ก ๋ณด์ธ๋ค. ## ๋ฌธ์ ํ์ด : ์ฐ์ ๋ฐ์ดํฐ๋ฅผ ํ์ผ๋ก ์ ์ฅํ ๋ค์์ ํ์ด์ฌ์ ํตํด indian.wav๋ก ๋ณ๊ฒฝํด๋ณด๊ฒ ๋ค. ### ๊ณต๊ฒฉ ์ฝ๋ : import base64 with open("level_19.txt", "r") as f: data = f.read() data = data.replace("\n", "") data = base64.b64decode(data) with open("indian.wav", "wb") a..
์ด๋ฒ ํฌ์คํธ์์๋ Python Challenge์ Level 18 ๋ฌธ์ ์ ๋ํด ๋ค๋ฃจ๊ฒ ๋ค. ๋ฌธ์ ๋ฅผ ํด๋ฆญํ๋ฉด ๋ค์๊ณผ ๊ฐ์ ํ์ด์ง๊ฐ ์ถ๋ ฅ๋๋ค. ## ๋ฌธ์ ํด์ : ๋ฌธ์ ์ ์ ๋ชฉ์ ๋ณด๋ฉด "can you tell the difference?"๋ผ๊ณ ๋์ด์๋ค. ํด๋น ์ฌ์ง์ ์ฐจ์ด๋ ๋ฐ๋ก ๋ฐ๊ธฐ(brightness)์ด๋ค. brightness.html๋ก ์ ์ํ๋ฉด ์ง์ง ๋ฌธ์ ๊ฐ ๋ณด์ธ๋ค. ### ๊ณต๊ฒฉ๋ฌธ : http://www.pythonchallenge.com/pc/return/brightness.html ### ์คํ ๊ฒฐ๊ณผ : ๊ฐ๋ฐ์ ๋๊ตฌ๋ฅผ ํ์ธํด๋ณด๋ฉด ๋ค์๊ณผ ๊ฐ์ด deltas.gz๋ผ๋ ํ์ผ์ด ์กด์ฌํ๋ ๊ฒ์ ํ์ธํ ์ ์๋ค. ํด๋น ํ์ผ์ ๋ค์ด๋ก๋ํด์ ๋ถ์ํด๋ณด๋ฉด ๋๋ ๊ฒ์ผ๋ก ๋ณด์ธ๋ค. ## ๋ฌธ์ ํ์ด : gzํ์ผ์ ์์ถํด์ ํ๋ฉด ๋ค์๊ณผ ..
์ด๋ฒ ํฌ์คํธ์์๋ Python Challenge์ Level 17 ๋ฌธ์ ์ ๋ํด ๋ค๋ฃจ๊ฒ ๋ค. ๋ฌธ์ ๋ฅผ ํด๋ฆญํ๋ฉด ๋ค์๊ณผ ๊ฐ์ ํ์ด์ง๊ฐ ์ถ๋ ฅ๋๋ค. ## ๋ฌธ์ ํด์ : ํ๋ฉด ์ข์ธก ํ๋จ์ ๋ณด๋ฉด Level 4์ ๋์๋ ์ฌ์ง์ด ๋ค์ ๋์จ ๊ฒ์ ํ์ธํ ์ ์๋ค. Python Challenge (Level 4) ์ด๋ฒ ํฌ์คํธ์์๋ Python Challenge์ Level 4 ๋ฌธ์ ์ ๋ํด ๋ค๋ฃจ๊ฒ ๋ค. ๋ฌธ์ ๋ฅผ ํด๋ฆญํ๋ฉด ๋ค์๊ณผ ๊ฐ์ ํ์ด์ง๊ฐ ์ถ๋ ฅ๋๋ค. ## ๋ฌธ์ ํด์ : ์ฌ์ง์ด ํ ์ฅ ๋ฌ๋ ค ์๋ค. ์ฌ์ง์ ํด๋ฆญํ๋ฉด ๋ค์๊ณผ ๊ฐ์ ํ๋ฉด์ด jy05un.tistory.com Level 4์ ๋ค์ด๊ฐ์ ์ฟ ํค๋ฅผ ํ์ธํด๋ณด๋ฉด ๋ค์๊ณผ ๊ฐ์ด ํ๋ผ๋ฏธํฐ๋ฅผ busynothing์ ์ฐ๋ผ๊ณ ํ๋ค. ํ๋ผ๋ฏธํฐ๋ง busynothing์ผ๋ก ๋ฐ๊พผ ๋ค์์ ๋ ๋ฒจ 4์ ๊ฐ์..
์ด๋ฒ ํฌ์คํธ์์๋ Python Challenge์ Level 16 ๋ฌธ์ ์ ๋ํด ๋ค๋ฃจ๊ฒ ๋ค. ๋ฌธ์ ๋ฅผ ํด๋ฆญํ๋ฉด ๋ค์๊ณผ ๊ฐ์ ํ์ด์ง๊ฐ ์ถ๋ ฅ๋๋ค. ## ๋ฌธ์ ํด์ : ์ค๊ฐ์ ํํฌ์ ์ ์ด ์ฌ๋ฌ๊ฐ ๋ค์ด๊ฐ ์๋ ์ฌ์ง์ด ํ ์ฅ ์ถ๋ ฅ๋์ด ์๋ค. ๋จ์๋ ํด๋น ๋ฌธ์ ์ ์ ๋ชฉ์ธ "let me get this straight"์ด๋ค. ์ฆ ์ ๋ ฌํด๋ฌ๋ ๋ป์ธ๋ฐ, ์ฐ์ ํด๋น ์ฌ์ง์ ๋ค์ด๋ก๋ํ๊ณ ํฝ์ ์ ์ถ๋ ฅํด๋ณด๋ฉด ๋ค์๊ณผ ๊ฐ์ด ์ค๋ณต๋ ์ซ์๊ฐ ์ถ๋ ฅ๋ ๊ฒ์ ์ ์ ์๋ค. 195๊ฐ ๋ฐ๋ก ์ฌ์ง ์ค๊ฐ์ ๋ณด์ด๋ ํํฌ์ ์ ์ด๋ค. ํด๋น ํฝ์ ๋ง ๋ฐ๋ก ์ ๋ ฌํด์ ํธ๋ฉด ๋ ๊ฒ์ผ๋ก ๋ณด์ธ๋ค. ## ๋ฌธ์ ํ์ด : ํ์ด์ฌ์ ํตํด ํํฌ์ ์ ๋ง ๋ฐ๋ก ์ ๋ ฌํด๋ณด๊ฒ ๋ค. ### ๊ณต๊ฒฉ ์ฝ๋ : from PIL import Image, ImageChops img = Image.open..
์ด๋ฒ ํฌ์คํธ์์๋ Python Challenge์ Level 15 ๋ฌธ์ ์ ๋ํด ๋ค๋ฃจ๊ฒ ๋ค. ๋ฌธ์ ๋ฅผ ํด๋ฆญํ๋ฉด ๋ค์๊ณผ ๊ฐ์ ํ์ด์ง๊ฐ ์ถ๋ ฅ๋๋ค. ## ๋ฌธ์ ํด์ : ๋ฌ๋ ฅ์ด ์ถ๋ ฅ๋์ด์๋ค. ๋ฌ๋ ฅ ์ฐ์ธก ํ๋จ์ ์์นํ๋ ์ค๋ฅธ์ชฝ ๋ฌ๋ ฅ์ ๋ณด๋ฉด 2์์ด๋ผ๊ณ ๋์ด์๋๋ฐ, 29์ผ๊น์ง ์๋ค๋ ๊ฒ์ ์ ์ ์๋ค. ์ฆ ์ค๋ ์ธ ๊ฒ์ด๋ค. ์ผ๋จ 1**6๋ ์ค ์ค๋ ์ด๋ฉด์, 1์ 1์ผ์ด ๋ชฉ์์ผ์ด๋ฉด์ 6์ผ๋ก ๋๋๋ ํด๋ฅผ ์ฐพ์ผ๋ฉด ๋ ๊ฒ ๊ฐ๋ค. ## ๋ฌธ์ ํ์ด : ํ์ด์ฌ์ ํตํด 1**6๋ ์ค ์ค๋ ์ ๊ตฌํด๋ณด๊ฒ ๋ค. ### ๊ณต๊ฒฉ ์ฝ๋ : import calendar leap_years = list() for i in range(1006, 2000, 10): curr_year = i if(calendar.isleap(curr_year)): if(calen..