[파이썬] 프로그래머스 : 방문 길이 (Lv.2)
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
풀이
방향성 생각
격자도 10x10이라서 set에 모든 경우 다 넣어도 11*11*2 = 242라서 구현
점 a에서 b 이동이나 b에서 a이동이나 똑같다.
전체코드
from collections import deque
def solution(dirs):
q = deque(list(dirs))
path = set()
x,y = 0,0
while q:
d = q.popleft()
if d == 'U' :
if y+1 <= 5 :
path.add(((x,y),(x,y+1)))
path.add(((x,y+1),(x,y)))
y += 1
elif d == 'D':
if y-1 >= -5 :
path.add(((x,y),(x,y-1)))
path.add(((x,y-1),(x,y)))
y -= 1
elif d == 'L':
if x-1 >= -5 :
path.add(((x-1,y),(x,y)))
path.add(((x,y),(x-1,y)))
x -= 1
else : # R
if x+1 <= 5 :
path.add(((x+1,y),(x,y)))
path.add(((x,y),(x+1,y)))
x += 1
return len(path)//2
코멘트
함수써서 지정해주면 좀 더 깔끔하게 풀 수 있었을듯. 복붙이라 크게 차이 없긴 하지만..
'Algorithm > etc' 카테고리의 다른 글
[파이썬] 프로그래머스 : 메뉴 리뉴얼 (Lv.2) (0) | 2023.07.15 |
---|---|
[파이썬] 프로그래머스 : 오픈채팅방 (Lv.2) (0) | 2023.07.15 |
[파이썬] 프로그래머스 : 파일명 정렬 (Lv.2) (0) | 2023.07.15 |
[파이썬] 프로그래머스 : 테이블 해시 함수 (Lv.2) (0) | 2023.07.11 |
[파이썬] 프로그래머스 : n^2 배열 자르기 (Lv.2) (0) | 2023.07.10 |
[파이썬] 프로그래머스 : 카펫 (Lv.2) (0) | 2023.07.10 |
[파이썬] 프로그래머스 : 우박수열 정적분 (Lv.2) (0) | 2023.07.08 |
댓글