반응형

출처: 프로그래머스 코딩 테스트 연습, https://programmers.co.kr/learn/challenges

 

 

 

 

** Python

 

코드 실행에서는 통과됐는데 채점에서 35퍼 나와서 뭐가 문제인가 했는데

 

질문하기에 방향성이 없어야 한다는 말에 깨달음

 

(1,1) -> (0,1) 이랑 (0,1) -> (1,1) 은 같은 길을 갔으므로 카운트 되면 안됨

 

 

 

def solution(dirs):
    answer = 0
    loc = [0, 0]
    strd = {'U': (0, 1), 'D': (0, -1), 'R': (1, 0), 'L': (-1, 0)}
    visited = set()
    for d in dirs:
        old_x = loc[0]
        old_y = loc[1]
        new_x = loc[0] + strd[d][0]
        new_y = loc[1] + strd[d][1]
        if new_x > 5 or new_x < -5 or new_y > 5 or new_y < -5:
            continue
        road1 = (old_x, old_y, new_x, new_y)
        road2 = (new_x, new_y, old_x, old_y)
        visited.add(road1)
        visited.add(road2)
        loc = [new_x, new_y]
    return len(visited) // 2

 

 

그래서 그냥 두 개 다 넣어버리고 2로 나눔 ㅋㅋㅋㅋ

 

 

 

 

 

 

다른 사람 풀이 보니까 방향성은 괜찮았던 것 같다

가장 추천 많이 받은 풀이랑 비슷해서 뿌듯

반응형

+ Recent posts