programmers- lv.1 (바탕화면 정리)

이예송·2023년 7월 17일

PS

목록 보기
46/97

문제링크: 바탕화면 정리

✍🏻 Information

content
언어python
난이도⭐️⭐️
풀이시간20분
제출횟수2
인터넷검색유무no




🍒 My Code

def solution(wallpaper):
    startx,starty,endx,endy= len(wallpaper),len(wallpaper[0]),0,0
    for xidx, x in enumerate(wallpaper):
        for yidx, y in enumerate(x):
            if y=="#":
                startx = min(startx,xidx)
                starty = min(starty,yidx)
                endx = max(endx,xidx+1)
                endy = max(endy,yidx+1)
    return [startx,starty,endx,endy]




💡 What I learned

  • 처음에 starty 초기화를 len(wallpaper)로 해줘서 1개의 testcase를 통과 못했다.
  • 아쉬운점은 질문하기를 보고 저게 잘못됐다는것을 알았다는 점,, 담부턴 절대절대 보지말자
  • 아래는 내가 처음 생각했던 풀인데 오히려 이게 더 단순하고 나았을것 같다. 시간이 오래걸릴것이라 생각해서 방향을 튼것이었는데 괜한 생각이었다.
def solution(wall):
    a, b = [], []
    for i in range(len(wall)):
        for j in range(len(wall[i])):
            if wall[i][j] == "#":
                a.append(i)
                b.append(j)
    return [min(a), min(b), max(a) + 1, max(b) + 1]

0개의 댓글