Summer/Winter Coding(~2018) 7

프로그래머스(Python) 12978번 배달 풀이

Python으로 구현한 12978번 배달 문제 풀이입니다. https://programmers.co.kr/learn/courses/30/lessons/12978 코딩테스트 연습 - 배달 5 [[1,2,1],[2,3,3],[5,2,2],[1,4,2],[5,3,1],[5,4,2]] 3 4 6 [[1,2,1],[1,3,2],[2,3,2],[3,4,3],[3,5,2],[3,5,3],[5,6,1]] 4 4 programmers.co.kr from collections import defaultdict, deque def solution(n, road, k) : graph = defaultdict(list) for v1, v2, dis in road : graph[v1].append((v2, dis)) graph[..

프로그래머스(Python) 49994번 방문 길이 풀이

Python으로 구현한 49994번 방문 길이 문제 풀이입니다. https://programmers.co.kr/learn/courses/30/lessons/49994 코딩테스트 연습 - 방문 길이 programmers.co.kr def solution(dirs) : x, y = 0, 0 nx, ny = 0, 0 visited = [] answer = 0 for dir in dirs : if dir == 'U' : # 위로 한 칸 이동 ny += 1 elif dir == 'D' : # 아래로 한 칸 이동 ny -= 1 elif dir == 'L' : # 왼쪽으로 한 칸 이동 nx -= 1 elif dir == 'R' : # 오른쪽으로 한 칸 이동 nx += 1 if abs(nx) > 5 or abs(ny)..

프로그래머스(Python) 12982번 예산 풀이

Python으로 구현한 12982번 예산 문제 풀이입니다. https://programmers.co.kr/learn/courses/30/lessons/12982 코딩테스트 연습 - 예산 S사에서는 각 부서에 필요한 물품을 지원해 주기 위해 부서별로 물품을 구매하는데 필요한 금액을 조사했습니다. 그러나, 전체 예산이 정해져 있기 때문에 모든 부서의 물품을 구매해 줄 수는 programmers.co.kr def solution(d, budget) : d.sort() temp_sum = 0 answer = 0 for i in range(len(d)) : if temp_sum + d[i] > budget : break temp_sum += d[i] answer += 1 return answer 1. 최대한 많은..

프로그래머스(Python) 12977번 소수 만들기 풀이

Python으로 구현한 12977번 소수 만들기 문제 풀이입니다. https://programmers.co.kr/learn/courses/30/lessons/12977 코딩테스트 연습 - 소수 만들기 주어진 숫자 중 3개의 수를 더했을 때 소수가 되는 경우의 개수를 구하려고 합니다. 숫자들이 들어있는 배열 nums가 매개변수로 주어질 때, nums에 있는 숫자들 중 서로 다른 3개를 골라 더했을 때 programmers.co.kr from itertools import combinations def check(value) : flag = True for i in range(2, value // 2 + 1) : if value % i == 0 : flag = False break return flag de..

프로그래머스(Python) 49993번 스킬트리 풀이

Python으로 구현한 49993번 스킬트리 문제 풀이입니다. https://programmers.co.kr/learn/courses/30/lessons/49993 코딩테스트 연습 - 스킬트리 programmers.co.kr def solution(skill, skill_trees) : answer = 0 for value in skill_trees : data = list(skill) for info in value : if info in data : if data.pop(0) != info : break else : # for문이 중간에 끊기지 않았다면 answer += 1 return answer 1. skill_trees의 요소(value)를 하나씩 확인하고, skill 문자열을 리스트 형태로 변..

프로그래머스(Python) 12980번 점프와 순간 이동 풀이

Python으로 구현한 12980번 점프와 순간 이동 문제 풀이입니다. https://programmers.co.kr/learn/courses/30/lessons/12980 코딩테스트 연습 - 점프와 순간 이동 OO 연구소는 한 번에 K 칸을 앞으로 점프하거나, (현재까지 온 거리) x 2 에 해당하는 위치로 순간이동을 할 수 있는 특수한 기능을 가진 아이언 슈트를 개발하여 판매하고 있습니다. 이 아이언 슈 programmers.co.kr def solution(n) : answer = 0 while n > 0 : if n % 2 == 1 : answer += 1 n //= 2 return answer 1. n이 0 이하가 될 때까지 반복 수행하는데, 현재 n 값을 2로 나눈 나머지가 1일 경우 한 칸 ..

프로그래머스(Python) 12981번 영어 끝말잇기 풀이

Python으로 구현한 12981번 영어 끝말잇기 문제 풀이입니다. https://programmers.co.kr/learn/courses/30/lessons/12981 코딩테스트 연습 - 영어 끝말잇기 3 ["tank", "kick", "know", "wheel", "land", "dream", "mother", "robot", "tank"] [3,3] 5 ["hello", "observe", "effect", "take", "either", "recognize", "encourage", "ensure", "establish", "hang", "gather", "refer", "reference", "estimate", "executive"] [0,0] programmers.co.kr def solut..