반응형
Notice
Recent Posts
Recent Comments
Link
동캄의 코딩도장
프로그래머스 level2 [방문 길이] 파이썬 본문
반응형
https://programmers.co.kr/learn/courses/30/lessons/49994
코딩테스트 연습 - 방문 길이
programmers.co.kr
#프로그래머스 방문 길이
def solution(dirs):
answer = 0
link=[[[[0]*11 for _ in range(11)] for _ in range(11)] for _ in range(11)]
x=5
y=5
for dir in dirs:
if dir=='U' and y<10:
if (link[x][y][x][y+1]!=1) and (link[x][y+1][x][y]!=1):
answer+=1
link[x][y][x][y+1]=1
link[x][y+1][x][y]=1
y+=1
elif dir=='D' and y>0:
if (link[x][y][x][y-1]!=1) and (link[x][y-1][x][y]!=1):
answer+=1
link[x][y][x][y-1]=1
link[x][y-1][x][y]=1
y-=1
elif dir=='L' and x>0:
if (link[x][y][x-1][y]!=1) and (link[x-1][y][x][y]!=1):
answer+=1
link[x][y][x-1][y]=1
link[x-1][y][x][y]=1
x-=1
elif dir=='R' and x<10:
if (link[x][y][x+1][y]!=1) and (link[x+1][y][x][y]!=1):
answer+=1
link[x][y][x+1][y]=1
link[x+1][y][x][y]=1
x+=1
return answer
처음에 어떻게 풀어야할지 막막하였다. 고민하다 생각보다 x,y의 범위가 크지 않다는것을 다시 확인하고,
4차원 배열을 생성하였다. link를 생성해서 각 link의 방문과 미방문을 표시하고, 미방문하였을때는 answer+=1 하는 방식으로 길이를 구하였다.
반응형
'코테 > 프로그래머스' 카테고리의 다른 글
프로그래머스 level2 [카펫] 파이썬 (0) | 2021.12.10 |
---|---|
프로그래머스 level2 [문자열 압축] 파이썬 (0) | 2021.12.09 |
프로그래머스 level2 [ [3차] 파일명 정렬] 파이썬 (0) | 2021.12.09 |
프로그래머스 level2 [1차 캐시] 파이썬 (0) | 2021.12.08 |
프로그래머스 level2 [구명보트] 파이썬 (0) | 2021.12.08 |