Dia Egg - Shugo Chara

Python공부/프로그래머스

(Python) 공원 산책 (프로그래머스 Lv.1)

별ㅇI 2023. 6. 19. 04:01
728x90
반응형

공원 산책(프로그래머스 Lv.1)

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

 

프로그래머스

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

programmers.co.kr

 

내 코드

def solution(park, routes):
    answer = []
    drive = {'E':[0,1],'S':[1,0],'W':[0,-1],'N':[-1,0]}
    
    for i in range(len(park)): #시작지점 알아내기
        for j in range(len(park[0])):
            if park[i][j] == 'S':
                x, y = i, j
    
    for route in routes:
        dx,dy = x,y #장애물이 없고 범위를 벗어나지 않으면 그동안 움직인거 저장
        for _ in range(int(route[2])):
            dx += drive[route[0]][0] 
            dy += drive[route[0]][1]
            if (0>dy or dy>=len(park[0]) or (0>dx or dx>=len(park)) or park[dx][dy] == 'X'):
                dx,dy = x,y
                break
        x,y = dx,dy    

    answer.append(x)
    answer.append(y)
    return answer

참고로 route에 들어있는 숫자가 문자열이라서 int를 해줘야 for문이 돌아간다

728x90
반응형