[BFS] 프로그래머스 게임 맵 최단거리 python
1. 문제 https://programmers.co.kr/learn/courses/30/lessons/1844 코딩테스트 연습 - 게임 맵 최단거리 [[1,0,1,1,1],[1,0,1,0,1],[1,0,1,1,1],[1,1,1,0,1],[0,0,0,0,1]] 11 [[1,0,1,1,1],[1,0,1,0,1],[1,0,1,1,1],[1,1,1,0,0],[0,0,0,0,1]] -1 programmers.co.kr 2. 풀이 전형적인 BFS map의 row col이 다를 수 있다는 점을 빼먹어서 틀렸다. 3. 구현 from collections import deque # deque import d = [[1,0], [-1, 0], [0,1], [0,-1]] def isValid(r,c, row, col): r..
2021. 6. 18.
프로그래머스 예상대진표 python: Queue
1. 문제 2. 풀이 3. 구현 def solution(n,a,b): answer = 0 q = deque([i for i in range(1,n+1)]) while(a!=b): a = (a+1)//2 b = (b+1)//2 answer+=1 return answer 예시 테스트케이스만 맞고 나머지는 틀린다. from collections import deque def solution(n,a,b): answer = 0 q = deque([i for i in range(1,n+1)]) while(q): x = q.popleft() y = q.popleft() if [x,y] == [a,b] or [x,y] == [b,a]: answer+=1 break if a in [x, y]: # list를 쓰면 한 줄..
2021. 6. 16.
프로그래머스 짝지어 제거하기 python
1. 문제 2. 풀이 앞뒤를 비교하므로 stack 자료구조 이용! 2. 구현 정답코드 def solution(s): answer = -1 stk = [] for c in s: if stk: if stk[-1]==c: stk.pop() else: stk.append(c) else: stk.append(c) if stk: answer=0 else: answer=1 return answer 답은 나오는 것 같은데 시간초과. 사실 그럴법도 하다. def solution(s): answer = -1 li = [ 'aa', 'bb', 'cc', 'dd', 'ee', 'ff', 'gg', 'hh', 'ii', 'gg', 'kk', 'll', 'mm', 'nn', 'oo', 'pp', 'qq', 'rr', 'ss', ..
2021. 6. 14.