ol-rlo-zl
[프로그래머스 lv2] 방문 길이 - 파이썬(Python) 본문
문제
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
나의 풀이 (리스트 이용)
def solution(dirs):
dic = {'U':[0,1],'D':[0,-1],'R':[1,0],'L':[-1,0]}
before = [0,0]
road = []
for d in dirs:
nx = before[0] + dic[d][0]
ny = before[1] + dic[d][1]
after = [nx,ny]
if nx in range(-5,6) and ny in range(-5,6):
if before+after not in road and after+before not in road:
road.append(before+after)
before = after
return len(road)
다른 사람 풀이 (집합 이용)
def solution(dirs):
dic = {'U':[0,1],'D':[0,-1],'R':[1,0],'L':[-1,0]}
x, y = 0, 0
road = set()
for d in dirs:
nx = x + dic[d][0]
ny = y + dic[d][1]
if -5 <= nx <= 5 and -5 <= ny <= 5:
road.add((x,y,nx,ny))
road.add((nx,ny,x,y))
x, y = nx, ny
return len(road) // 2
'Programmers(Python)' 카테고리의 다른 글
[프로그래머스 lv2] 모음 사전 - 파이썬(Python) (0) | 2023.04.07 |
---|---|
[프로그래머스 lv2] [3차] 파일명 정렬 (0) | 2023.04.05 |
[프로그래머스 lv2] 땅따먹기 - 파이썬(Python) (0) | 2023.04.05 |
[프로그래머스 lv2] 스킬 트리 - 파이썬(Python) (0) | 2023.04.04 |
[프로그래머스 lv2] 주식 가격 - 스택/큐 - 파이썬(Python) (0) | 2023.04.04 |