본문 바로가기

분류 전체보기94

[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 1. 문제 2. 풀이 분할 정복 분할정복은 dfs처럼 그 아래가 완성될 때, 라는 가정을 하고 푼다. return을 잘 생각해야한다. 3. 구현 NameError: name 'ops' is not defined ops를 함수 인자로 안보내줘서 난 에러 TypeError: unsupported operand type(s) for -: 'str' and 'int' string 형태를 - 연산하려고 해서 난 에러, str을 cal로 보내 int형으로 바꾼 후 - 연산을 하도록 바꿨다. def plus(ops,s): li = s.split('+') res = 0 for item in li: res=res + int(cal(ops, item)) # print("plus: ", res) return res def .. 2021. 6. 17.
프로그래머스 예상대진표 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. 풀이 sort 하면 길이대로 정렬되는 것 str.startswith(str2) 시작하는 것 확인하는 라이브러리 3. 구현 def solution(phone_book): answer = True phone_book.sort() for num1, num2 in zip(phone_book, phone_book[1:]): if num2.startswith(num1): return False return True 2021. 6. 14.
반응형