Programmers / 2단계 / 방문 길이 / python

2024. 3. 6. 21:06·코딩테스트/programmers (python)

 

https://school.programmers.co.kr/learn/courses/30/lessons/49994

 

나의 풀이 

def solution(dirs):
    j={'R':0, 'L':0, 'U':0, 'D':0}
    location=[]
    count=0
    for i in dirs:
        j[i]+=1
        if (j['R']-j['L'], j['U']-j['D']) not in location and (abs(j['R']-j['L'])<6 and abs(j['U']-j['D'])<6):
            location.append((j['R']-j['L'], j['U']-j['D']))
        else:
            count+=1
    return len(location)+1

 

 

모범 답안

def solution(dirs):
    s = set()
    d = {'U': (0,1), 'D': (0, -1), 'R': (1, 0), 'L': (-1, 0)}
    x, y = 0, 0
    for i in dirs:
        nx, ny = x + d[i][0], y + d[i][1]
        if -5 <= nx <= 5 and -5 <= ny <= 5:
            s.add((x,y,nx,ny))
            s.add((nx,ny,x,y))
            x, y = nx, ny
    return len(s)//2

 

나는 중복되는 좌표를 걸러내기 위해 리스트에 값을 넣어 조건문으로 처리했는데 이 문제에서도 set()을 이용하여 처리할 수 있었다. 또한 나의 코드로는 좌표점만 비교하여 중복되는 경로가 처리되어서 실패하였다. 좌표점이 아닌 시작점과 끝점을 같이 확인하여 이미 방문한 경로인지 확인하여야 하고 위 답안에서처럼 시작점과 끝점이 바뀌어도 같은 길을 나타낸다는 점을 고려하여 최종적으로 2로 나누어야 한다. 

 

 

 

참조

https://www.ai-bio.info/programmers/49994

 

[프로그래머스] 방문 길이 Python 파이썬 해설 (Level 2) - 이도훈

프로그래머스 Level 2 문제 [방문 길이]의 풀이를 정리합니다.

www.ai-bio.info

 

'코딩테스트 > programmers (python)' 카테고리의 다른 글

Programmers / DFS / BFS 문제 모음  (0) 2024.03.08
Programmers / 2단계 / 주차 요금 계산 / python / 2022 KAKAO BLIND RECRUITMENT  (0) 2024.03.06
Programmers / 2단계 / [3차] n진수 게임 / python / 2018 KAKAO BLIND RECRUITMENT  (1) 2024.03.05
Programmers / 2단계 / 다리를 지나는 트럭 / python  (0) 2024.02.24
Programmers / 2단계 / [3차] 압축 / python / 2018 KAKAO BLIND RECRUITMENT  (0) 2024.02.23
'코딩테스트/programmers (python)' 카테고리의 다른 글
  • Programmers / DFS / BFS 문제 모음
  • Programmers / 2단계 / 주차 요금 계산 / python / 2022 KAKAO BLIND RECRUITMENT
  • Programmers / 2단계 / [3차] n진수 게임 / python / 2018 KAKAO BLIND RECRUITMENT
  • Programmers / 2단계 / 다리를 지나는 트럭 / python
seulll
seulll
개인 공부 / 정리 블로그입니다
  • seulll
    seulll
    seulll
  • 전체
    오늘
    어제
    • 분류 전체보기 (326) N
      • 코딩테스트 (224) N
        • programmers (python) (156)
        • 백준 (python) (66) N
      • 자료구조 | 알고리즘 (14)
      • 개발 | 프로젝트 (37) N
        • Python (4)
        • Java | Spring (7)
        • Unity (3)
        • API (4) N
      • CS (15)
        • Network (5)
        • SQL (2)
        • OS (4)
      • 데이터 분석 (14)
      • 기타 (12)
  • 블로그 메뉴

    • 홈
    • 태그
    • 글쓰기
    • 설정
  • 링크

    • GitHub
  • 인기 글

  • 태그

    API
    데이터분석
    train_test_split
    야근 지수
    Boxplot
    백엔드 개발자 역량
    solving environment
    프렌즈4블록
    Greedy
    프로그래머스
    confusion matrix
    kakao map api
    그리디 알고리즘
    웹크롤링
    티스토리챌린지
    카카오맵
    asterisk
    2 x n 타일링
    Python
    파이썬
    백엔드
    박스플롯
    오블완
    바다코끼리
    코딩테스트
    모델 성능 평가
    백엔드 개발자
    카카오맵 api
    대입 표현식
    오차행렬
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.0
seulll
Programmers / 2단계 / 방문 길이 / python
상단으로

티스토리툴바