Python Challenge 14의 Url은 다음과 같다
Python challenge 14 : http://www.pythonchallenge.com/pc/return/italy.html
구성
페이지에는 사진이 2개 있다. 위에 보이는 나선빵은 italy라는 이름을 가지고 있고, 아래 바코드 같은 사진은 wire.png라는 이름을 가지고 있다. 별다른 상호작용을 보이지 않으니 주석을 보자
가운데 주석으로 100*100 = (100+99+99+98) 이라는 글이 쓰여있다.
해결 아이디어
가운데 식으로 부터 다음을 생각할 수 있다.
즉 빙글빙글 돌면서 그림을 채우는 것이다. 채울 대상은 wire.png이다. 다운로드하여보면 10000*1의 크기로 된 사진이다.
### 14.py
from PIL import Image
if __name__ == "__main__" :
with Image.open("wire.png") as img :
tar = Image.new('RGB',(101,101))
length = img.width
dx = [1,0,-1,0]
dy = [0,1,0,-1]
direction = 0
x = 100
y = 99
cur_x = 0
cur_y = 0
index = 0
while(x+y>0) :
if(direction%2==0) :
for i in range(x) :
tar.putpixel((cur_x,cur_y),img.getpixel((index,0)))
cur_x += dx[direction]
index += 1
x -= 1
else :
for i in range(y) :
tar.putpixel((cur_x,cur_y),img.getpixel((index,0)))
cur_y += dy[direction]
index += 1
y -= 1
direction = (direction + 1)%4
tar.save("new_wire.png")
출력된 사진 new_wire.png는 다음과 같다.
허어... 커여어.... 찾았다.
Answer Url : http://www.pythonchallenge.com/pc/return/cat.html
'Python > Python Challenge' 카테고리의 다른 글
[Python Challenge 16] 다 내 밑으로 정렬해 (0) | 2021.05.29 |
---|---|
[Python Challenge 15] 다섯살 때부터 친 피아노 (0) | 2021.05.27 |
[Python Challenge 13] 자니??.... 그냥 전화해봤어... (0) | 2021.05.19 |
[Python Challenge 12] 나쁜 놈은 누구인가 (0) | 2021.05.19 |
[Python Challenge 11] 홀짝하나만 맞춰보시져 (0) | 2021.05.19 |