[프로그래머스] <크레인 인형뽑기 게임> 파이썬
programmers.co.kr/learn/courses/30/lessons/64061 코딩테스트 연습 - 크레인 인형뽑기 게임 [[0,0,0,0,0],[0,0,1,0,3],[0,2,5,0,1],[4,2,4,4,2],[3,5,1,3,1]] [1,5,3,5,1,2,1,4] 4 programmers.co.kr def solution(board, moves): stack = [] answer = 0 for move in moves : for i in range(len(board[0])) : if board[i][move-1] != 0 : temp = board[i][move-1] board[i][move-1] = 0 if not stack : stack.append(temp) elif stack[-1] == ..
[프로그래머스] <여행경로> 파이썬
programmers.co.kr/learn/courses/30/lessons/43164 코딩테스트 연습 - 여행경로 [[ICN, SFO], [ICN, ATL], [SFO, ATL], [ATL, ICN], [ATL,SFO]] [ICN, ATL, ICN, SFO, ATL, SFO] programmers.co.kr 시작점 인천인지 모르고 그냥 dfs 조지다가 머리 빠질 뻔함 def solution(tickets): tickets.sort(key = lambda x : (x[0], x[1])) route = ["ICN"] stack = [] used = [False] * len(tickets) def dfs(i,ticket) : stack.append((i, ticket)) route.append(ticket[..
[프로그래머스] <타겟 넘버> 파이썬
programmers.co.kr/learn/courses/30/lessons/43165 코딩테스트 연습 - 타겟 넘버 n개의 음이 아닌 정수가 있습니다. 이 수를 적절히 더하거나 빼서 타겟 넘버를 만들려고 합니다. 예를 들어 [1, 1, 1, 1, 1]로 숫자 3을 만들려면 다음 다섯 방법을 쓸 수 있습니다. -1+1+1+1+1 = 3 +1-1+1+1+ programmers.co.kr DFS로 풀었음 answer = 0 def dfs(index, res, numbers, target) : global answer if index == len(numbers) : if res == target : answer += 1 return dfs(index+1, res + numbers[index], numbers,..
[프로그래머스] <섬 연결하기> 파이썬
programmers.co.kr/learn/courses/30/lessons/42861 코딩테스트 연습 - 섬 연결하기 4 [[0,1,1],[0,2,2],[1,2,5],[1,3,1],[2,3,8]] 4 programmers.co.kr 읽자마자 그냥 MST인거 알았음 MST 구현 알고리즘에는 프림 알고리즘, 크루스칼 알고리즘이 있음 크루스칼 하다가 중간에 막혀서 프림으로 구현함 파이썬으로 코테 준비한지 얼마안됐는데, 자료형 집합쓰면 편하겠다고 바로 생각해낸게 뭐랄까 기뻤음 def solution(n, costs): costs.sort(key = lambda x : x[2]) total = 0 village= set([costs[0][0]]) while len(village) != n : for i, cos..