프로그래머스 백트래킹 문제로 분류되어 있는 광물캐기 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr dfs를 이용하여 풀이한 코드 import sys def solution(picks, minerals): answer = sys.maxsize visited = [0 for _ in range(3)] #사용개수 orders = [] def dfs(depth, tired): nonlocal answer if depth==sum(picks): answer = min(answer, tired) return for i in range(3): if visited[i]..
프로그래머스 숫자 찾기 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr def solution(num, k): num = [x for x in str(num)] answer = [] for idx, value in enumerate(num): if value == str(k): a = idx+1 break else: a = -1 return a def solution(num, k): return -1 if str(k) not in str(num) else str(num).find(str(k)) + 1
프로그래머스 DFS/BFS 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr from collections import deque def solution(rectangle, characterX, characterY, itemX, itemY): answer = 0 MAX = 102 #테두리 그리기 graph = [[5]*MAX for _ in range(MAX)] for r in rectangle: x1, y1, x2, y2 = map(lambda x: x*2, r) for i in range(x1, x2+1): for j in range(y1, y2+1): ..
프로그래머스 해시 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 경우의 수를 고려. 만일, 모자 카테고리에 2개의 아이템이 있을 경우 (1) 모자1을 착용하거나 (2) 모자2를 착용하거나 (3) 둘 다 착용하지 않거나 총 3가지의 경우의 수가 있다. (각 카테고리의 길이+1)을 모두 곱하면 옷을 입거나 입지 않는 경우의 수가 모두 출력. 하지만 적어도 하나의 카테고리의 옷은 입어야 하기에 마지막에 -1을 해준다. from collections import defaultdict def solution(clothes): answer = 1 dic = defa..
프로그래머스 Greedy 문제 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr Greedy문제로 분류되어 있는데, Greedy로 풀 경우 최적해가 나오지 않는 경우가 있기 때문에 bfs로 푸는 사람들이 많은것 같다. 풀이 참고했던 두 가지 코드를 공유해본다 alpha = dict() i = 65 for q in range(1,27): alpha[chr(i)] = q i += 1 r_alpha = dict() i = 65 for q in range(1,27): r_alpha[q] = chr(i) i += 1 def solution(name): n = len(..