




코딩테스트 연습 - 공원 산책 | 프로그래머스 스쿨 (programmers.co.kr)
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
나의 코드
def solution(park, routes):
answer = [0,0]
# 이동 좌표
move_dict = {'N':[-1,0], 'S':[1,0], 'W':[0,-1], 'E':[0,1]}
# 공원을 좌표로 만들어준다
park_list = []
for i in park:
park_list.append(list(i))
#print(park_list)
# 현재 위치를 찾아줌
now_loc = []
for i in range(len(park_list)):
if len(now_loc) != 0:
break
for j in range(len(park_list[0])):
if park_list[i][j] == 'S':
now_loc = [i,j]
break
#print(now_loc)
# 현재 위치를 설정된 경로에 맞게 이동시켜줄것임
for i in routes:
now_x = now_loc[0]
now_y = now_loc[1]
i = i.split(' ')
#print(move_dict[i[0]])
# 경로를 초과하거나 장애물이 있는지 확인하고
# check가 1이면 있는것임
check = 0
for _ in range(int(i[1])):
new_x = now_x + move_dict[i[0]][0]
new_y = now_y + move_dict[i[0]][1]
if 0<=new_x<len(park_list) and 0<=new_y<len(park_list[0]) and park_list[new_x][new_y] != 'X':
now_x = new_x
now_y = new_y
else:
check = 1
break
# 장애물이 없으면 경로이동
if check == 0:
now_loc = [now_x,now_y]
#print(now_loc)
answer = now_loc
return answer
solution(["OSO",
"OOO",
"OXO",
"OOO"],
["E 2","S 3","W 1"])
'코딩테스트 파이썬 > 파이썬 프로그래머스 1단계' 카테고리의 다른 글
| 주사위 게임 3 (1) | 2023.10.28 |
|---|---|
| 정수를 나선형으로 배치하기 (0) | 2023.10.26 |
| 달리기 경주 (0) | 2023.10.05 |
| 덧칠하기 (0) | 2023.09.24 |
| 추억 점수 (0) | 2023.09.24 |