본문 바로가기
Algorithm/programmers

[파이썬] programmers: 바탕화면 정리

by 갈잃자 2024. 1. 25.

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

 

프로그래머스

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

programmers.co.kr


구현문제

 

이중 반복문으로 전체 순환하며, 시작점과 드래그 끝지점을 찾으면 된다!

def solution(wallpaper):
    answer = []
    wallpaperArr = [];
    for i in range(len(wallpaper)):
        wallpaperArr.append(list(wallpaper[i]))

    for y in range(len(wallpaperArr)):
        for x in range(len(wallpaperArr[y])):
            if wallpaperArr[y][x] == '#':
                answer.append(y)
                break
        if len(answer) == 1:
            break

    for x in range(len(wallpaperArr[0])):
        for y in range(len(wallpaperArr)):
            if wallpaperArr[y][x] == '#':
                answer.append(x)
                break
        if len(answer) == 2:
            break

    for y in range(len(wallpaperArr)-1, -1, -1):
        for x in range(len(wallpaperArr[y])-1, -1, -1):
            if wallpaperArr[y][x] == '#':
                answer.append(y + 1)
                break
        if len(answer) == 3:
            break

    for x in range(len(wallpaperArr[0])-1,-1,-1):
        for y in range(len(wallpaperArr)-1,-1,-1):
            if wallpaperArr[y][x] == '#':
                answer.append(x + 1)
                break
        if len(answer) == 4:
            break

        if len(answer) == 2:
            break

    return answer

댓글