Algorithm/알고리즘 문제
[프로그래머스][Python] 바탕화면 정리
은 딩
2023. 10. 8. 23:53
https://school.programmers.co.kr/learn/courses/30/lessons/161990
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
아이디어
오랜만에 한 번에 푼 문제이다.
시작점인 lux, luy는 파일 위치 중에 가장 작은 값을 넣으면 되고
끝점인 rdx, rdy는 파일 위치 중에 가장 큰 값을 넣으면 되는데 드래그는 끝까지 해야하므로 각각 +1을 해야한다.
(왜냐하면 (0,1)에서 파일이 시작했다고 하더라도 파일의 끝은 (1, 2)이므로!!)
코드
def solution(wallpaper):
# Find files position
lux, luy = 500, 500
rdx, rdy = -1, -1
for i in range(len(wallpaper)):
for j in range(len(wallpaper[i])):
if wallpaper[i][j] == "#":
if i < lux:
lux = i
if j < luy:
luy = j
if i > rdx:
rdx = i
if j > rdy:
rdy = j
answer = [lux, luy, rdx+1, rdy+1]
return answer