https://school.programmers.co.kr/learn/courses/30/lessons/161990?language=python3


wallpaper의 모든 원소의 길이는 동일합니다.wallpaper[i][j]는 "#" 또는 "."의 값만 가집니다.(lux, luy)와 끝점 (rdx, rdy)는 lux < rdx, luy < rdy를 만족해야 합니다.#이 들어간 줄을 구하고#의 위치를 구해서 최소 최대값을 반환#을 제거하기위해서는 적어도 0,1,0,1 같이 #의 왼쪽위 좌표와 오른쪽 아래(+1) 값이 필요, 그래서 각 값에 +1을 해줌#은 처음에 나올 경우와 마지막에 나오는 것 만 배열에 추가하고, 마지막 #의 인덱스에 +1을 통해 칸을 선택함def solution(wallpaper):
rows = [] # #이 있는 줄
cols = [] # #이 있을 때 #의 열
for i,w in enumerate(wallpaper):
if w.find("#") != -1:
rows.append(i)
rows.append(i+1)
cols.append(w.find('#'))
cols.append(w.rfind("#")+1)
rows.sort()
cols.sort()
return [rows[0], cols[0], rows[len(rows)-1], cols[len(cols)-1]]
wallpaper의 길이를 생각했을 때 이중 반복문과 min,max를 통해 구할 수 있다.def solution(wall):
rows = [] # #이 있는 줄
cols = [] # #이 있을 때 #의 열
for i in range(len(wall)):
for j in range(len(wall)):
if wall[i][j] == "#":
rows.append(i)
cols.append(j)
return [min(rows), min(cols), max(rows)+1, max(cols)+1]