반응형
문제
https://school.programmers.co.kr/learn/courses/30/lessons/172928
문제 풀이
구현문제. 시작점에서 주어진 방향으로 한칸씩 전진해보면서 범위를 벗어나거나 장애물을 만나면 해당 명령어를 무시한다.
코드
def find_start(park):
for i in range(len(park)):
for j in range(len(park[i])):
if park[i][j] == 'S':
return i, j
def solution(park, routes):
dir_dict = {'E': (0,1), 'W': (0,-1), 'S': (1,0), 'N': (-1,0)}
x, y = find_start(park)
for i in routes:
direction, cnt = i.split()
nx, ny = x, y
for _ in range(int(cnt)):
nx += dir_dict[direction][0]
ny += dir_dict[direction][1]
if not(0<=nx<len(park) and 0<=ny<len(park[0]) and park[nx][ny] != 'X'):
break
else: x, y = nx, ny
return [x, y]
반응형
'알고리즘 > 프로그래머스 문제풀이' 카테고리의 다른 글
[프로그래머스] lv.1 신규 아이디 추천 풀이 (1) | 2023.10.30 |
---|---|
[프로그래머스] lv.1 이상한 문자 만들기 python 풀이 (0) | 2023.10.30 |
[프로그래머스] lv.1 강원도에 위치한 생산공장 목록 출력하기 sql 풀이 (0) | 2023.10.29 |
[프로그래머스] lv.1 인기있는 아이스크림 sql 풀이 (0) | 2023.10.28 |
[프로그래머스] lv.1 크레인 인형 뽑기 게임 풀이 (0) | 2023.10.27 |