본문 바로가기

카테고리 없음

[프로그래머스] 코딩테스트 Lv.1 바탕화면 정리

~ 목차 ~

 

문제 보기 ↓

코딩테스트 연습 - 바탕화면 정리 | 프로그래머스 스쿨 (programmers.co.kr)

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

파이썬

[힌트]

1. 격자 무늬 : X, Y 값

2. 이중 for 문

3. enumerate 사용 : 인덱스값과 요소 가져오기

 

[답]


def solution(wallpaper):

# 먼저 x, y축 값을 담을 배열을 준비한다.
    X = []
    Y = []
   
   # enumerate로 wallpaper의 문자열요소(a)와 인덱스(i) 가져오기
    for i, a in enumerate(wallpaper):
       # enumerate로 요소 a의 문자요소(b)와 인덱스(j) 가져오기
        for j, b in enumerate(a):
            # 만약 b가 # 일때의 해당 인덱스 값 i는 x값(행), j는 y값(열)으로 배열에 넣어준다.
            if b =='#':
                X.append(i)
                Y.append(j)
   # 정답은 드래그시 범위이므로 min요소들은 격자의 첫번째 지점이라 상관없지만 max요소들은 격자 두번째 지점          을 찾아줘야하므로 +1 해준다.
    answer = [min(X), min(Y), max(X)+1, max(Y)+1]
    return answer

 

728x90