Notice
Recent Posts
Recent Comments
Link
«   2025/05   »
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
Tags
more
Archives
Today
Total
관리 메뉴

ol-rlo-zl

[프로그래머스 lv1] 공원 산책 - 파이썬(Python) 본문

Programmers(Python)

[프로그래머스 lv1] 공원 산책 - 파이썬(Python)

ol-rlo-zl 2023. 4. 11. 15:50

문제

 

프로그래머스

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

programmers.co.kr

풀이

def solution(park, routes):
    dx = {'N':-1 ,'S':1 ,'W':0 ,'E':0 }
    dy = {'N':0 ,'S':0 ,'W':-1 ,'E':1 }
    # 시작좌표 [x,y]
    x = -1
    for p in park:
        x += 1
        if 'S' in p:
            y = p.index('S')
            break
    # 한 칸씩 이동해보면서 끝까지 조건 만족하면, 명령 수행
    for r in routes:
        op, n = r.split()
        for i in range(1,int(n)+1):
            nx = x + i*dx[op]
            ny = y + i*dy[op]
            if 0 <= nx < len(park) and 0 <= ny < len(park[0]) and park[nx][ny] != 'X':
                continue
            else:
                break
        else:
            x, y = nx, ny
    return [x, y]

결과