https://school.programmers.co.kr/learn/courses/30/lessons/161990?language=python3
풀이 - 나의 생각
왼쪽 최상단, 오른쪽 최하단을 찾는 문제입니다.
즉 최상단의 x, 최왼측의 y, 최하단의 x, 최오른측의 y를 구하면 됩니다.
그렇기에 top, bottom, left, right 에 맞는 좌표 값을
반복문을 통해 찾고, 그 값을 반환하면 됩니다.
코드
def solution(wallpaper):
top, bottom, left, right, = 50, 0, 50, 0
for i in range(len(wallpaper)):
for j in range(len(wallpaper[i])):
if wallpaper[i][j] == '#':
if top > i:
top = i
if bottom < i:
bottom = i
if left > j:
left = j
if right < j:
right = j
return [top, left, bottom+1, right+1]
# 최상단 파일의 x좌표, 최왼측의 y좌표
# 최하단의 x좌표, 최우측의 y좌표
def solution(wallpaper):
x, y = [], []
for row, paper in enumerate(wallpaper):
for col, wall in enumerate(paper):
if wall == '#':
x.append(row)
y.append(col)
return [min(x), min(y), max(x)+1, max(y)+1]
# 최상단 파일의 x좌표, 최왼측의 y좌표
# 최하단의 x좌표, 최우측의 y좌표
728x90
'프로그래머스 > Lv.1' 카테고리의 다른 글
가장 가까운 같은 글자 - Pyton, not in (0) | 2024.11.04 |
---|---|
2022 KAKAO TECH INTERNSHIP > 성격 유형 검사하기 - Pyton (0) | 2024.11.04 |
행렬의 덧셈 - Python, ZIP (0) | 2024.11.01 |
카드 뭉치 - Python, List 에서 특정 값 삭제하 (0) | 2024.10.30 |
프로그래머스 > 옹알이(2) - Python, re.sub() (0) | 2024.10.27 |