\r\n[[1,1,7,4],[3,2,5,5],[4,3,6,9],[2,6,8,8]] | \r\n1 | \r\n3 | \r\n7 | \r\n8 | \r\n17 | \r\n
\r\n\r\n[[1,1,8,4],[2,2,4,9],[3,6,9,8],[6,3,7,7]] | \r\n9 | \r\n7 | \r\n6 | \r\n1 | \r\n11 | \r\n
\r\n\r\n[[1,1,5,7]] | \r\n1 | \r\n1 | \r\n4 | \r\n7 | \r\n9 | \r\n
\r\n\r\n[[2,1,7,5],[6,4,10,10]] | \r\n3 | \r\n1 | \r\n7 | \r\n10 | \r\n15 | \r\n
\r\n\r\n[[2,2,5,5],[1,3,6,4],[3,1,4,6]] | \r\n1 | \r\n4 | \r\n6 | \r\n3 | \r\n10 | \r\n
\r\n\r\n \r\n\r\n##### 입출력 예 설명\r\n\r\n[](https://github.com/phnml1/CodingTest/blob/master/%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%A8%B8%EC%8A%A4/3/87694.%E2%80%85%EC%95%84%EC%9D%B4%ED%85%9C%E2%80%85%EC%A4%8D%EA%B8%B0/README.md#%EC%9E%85%EC%B6%9C%EB%A0%A5-%EC%98%88-%EC%84%A4%EB%AA%85)\r\n\r\n입출력 예 #1\r\n\r\n![rect_5.png](6.png)\r\n\r\n캐릭터 위치는 (1, 3)이며, 아이템 위치는 (7, 8)입니다. 위 그림과 같이 굵은 선을 따라 이동하는 경로가 가장 짧습니다.\r\n\r\n입출력 예 #2\r\n\r\n![rect_7.png](7.png)\r\n\r\n캐릭터 위치는 (9, 7)이며, 아이템 위치는 (6, 1)입니다. 위 그림과 같이 굵은 선을 따라 이동하는 경로가 가장 짧습니다.\r\n\r\n입출력 예 #3\r\n\r\n[![rect_8.png](8.png)]\r\n\r\n캐릭터 위치는 (1, 1)이며, 아이템 위치는 (4, 7)입니다. 위 그림과 같이 굵은 선을 따라 이동하는 경로가 가장 짧습니다.\r\n\r\n## 구현 방법\r\n### 전체 직사각형들을 합친 것의 바깥쪽 테두리만 돌게하려면 어떻게 하는가?\r\n- rectangle을 순회하면서 범위 중 직사각형 내부는 0으로 테두리는 1로 board값을 갱신한다.\r\n- 이 때, 만일 `다른 직사각형의 내부안에 현재 직사각형의 테두리가 있지 않을 경우`에만 board를 1로 갱신한다. \r\n### 예외 사항\r\n![exception.png](exception.png)\r\n좌표가 인접한 경우 위와 같이 의도하지 않은 경우를 초래할 수도 있다.\r\n\r\n따라서 이를 해결하기 위해 모든 좌표의 값을 **2배**씩 해주어야 한다.\r\n\r\n이를 모두 반영하여 board 테이블을 만들면,\r\n\r\n```python\r\nboard = [[-1 for _ in range(102)] for _ in range(102)];\r\nfor r in rectangle:\r\n\t# map 객체를 통해 모든 좌표값에 2배\r\n\tx1,y1,x2,y2 = map(lambda x: x*2,r);\r\n for i in range(x1,x2+1):\r\n for j in range(y1,y2+1):\r\n\t # 직사각형 내부의 경우 0으로 개신\r\n if x1