[문제]

https://school.programmers.co.kr/learn/courses/30/lessons/161990

 

프로그래머스

SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프

programmers.co.kr

 

 

[풀이]

1. 드래그의 시작점과 끝점의 규칙을 찾는다.

2. 드래그 시작점(lux, luy) 에서 lux는 파일 처음 나오는 행, luy는 파일이 처음 나오는 열이 된다.

3. 드래그 끝점(rdx, rdy) 에서 rdx는 (파일이 존재하는 마지막 행 + 1), rdy는 (파일이 존재하는 마지막 열 + 1) 이 된다.

4. 격자판을 완전탐색하면서 '#' 문자가 나오면 행과 열을 저장한다.

5. min, max 함수를 이용해서 해당 값들을 구해준다.

 

def solution(wallpaper):
    rows = []
    cols = []
    
    for i, v1 in enumerate(wallpaper):
        for j, v2 in enumerate(v1):
            if v2 == '#':
                rows.append(i)
                cols.append(j)    

    lux, luy = min(rows), min(cols)
    rdx, rdy = max(rows), max(cols)
    
    return [lux, luy, rdx+1, rdy+1]

 

 

 

'코드카타 > Python' 카테고리의 다른 글

[PCCP 기출문제] 2번 / 석유 시추  (2) 2024.12.28
개인정보 수집 유효기간  (0) 2024.12.24
성격 유형 검사하기  (0) 2024.12.22
햄버거 만들기  (1) 2024.12.21
둘만의 암호  (0) 2024.12.20

+ Recent posts