-
[프로그래머스] Lv1. 바탕화면 정리알고리즘 2023. 3. 8. 13:51728x90
문제
https://school.programmers.co.kr/learn/courses/30/lessons/161990
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
접근
그림으로 그려보면 결국 알수있는 점은
x1 = 가장 위쪽 , y1 = 가장 왼쪽
x2 = 가장 아래쪽 , y1 = 가장 오른쪽
을 표현하면 된다! 이다.
표현하기 위해서 x1,x2,y1,y2를 각각 초기화 해주고 ( 초기화는 범위를 잘 체크해주면 된다 ) , '#' 이 나올때마다 그 위치의 값을 적용시켜주면 된다.
참고로, elif i > x2 같은 코드를 적으면 #이 한개있을때를 만족못시켜준다
코드
def solution(wallpaper): # 초기화 x1,y1 = 50,50 # 가장 위, 가장 왼쪽 x2,y2 = 0,0 # 가장 아래, 가장 오른쪽 n = len(wallpaper) m = len(wallpaper[0]) for i in range(n): for j in range(m): if wallpaper[i][j] == '#': if i < x1: x1 = i if i > x2: x2 = i if j < y1: y1 = j if j > y2: y2 = j return [x1,y1,x2+1,y2+1]
'알고리즘' 카테고리의 다른 글
[프로그래머스] LV1 과일 장수 (0) 2023.03.09 [프로그래머스] LV1. 카드 뭉치 (0) 2023.03.09 [백준] 20040 사이클 게임 (0) 2023.02.17 [알고리즘] 백준 - 극장좌석 (0) 2023.02.15 [프로그래머스] 섬 연결하기 (0) 2023.02.15