Algorithm/프로그래머스

프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 시간 초과^^ def solution(sequence, k): # 합 배열 s = [0] * (len(sequence)+1) for n in range(1, (len(sequence)+1)): s[n] = s[n-1] + sequence[n-1] # 구간 합 answer = [] min_len = 1000001 for i in range(len(sequence)+1): for j in range(i, len(sequence)+1): if s[j] - s[i-1] == k and j-i < min_len: if..
프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 단순한 큐를 이용한 문제라 생각하고 접근했으나 조건들로 인해 실패했던 과정을 하나하나 코드와 함께 작성했다. 발생할 수 있는 모든 경우를 겪고 정리했으니 다들 여기서 해답을 찾으시길 바랍니다! 시행착오 1 from collections import deque def solution(queue1, queue2): queue1, queue2 = deque(queue1), deque(queue2) answer = 0 # 원소는 정수이므로 두 큐의 합이 홀수이면 어떻게 해도 각 큐의 합을 정수로 같게 만들 수 없음(..
프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 코드 def solution(bridge_length, weight, truck_weights): bridge = [0] * bridge_length # 다리 onbridge = sum(bridge) # 다리 위 트럭 하중 answer = 0 # 시간 # 다리 위의 트럭이 없을 때까지(=모든 트럭이 다리를 건널 때 까지) while bridge: answer += 1 onbridge -= bridge.pop(0) # 맨 앞에 위치한 트럭이 다리를 지나면 하중 감소 # 남은 대기 트럭이 있으면 if truck_..
프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 처음 시도한 코드 def solution(topping): answer = 0 for i in range(1,len(topping)): left = set(topping[:i]) right = set(topping[i:]) if len(left)==len(right): answer += 1 return answer 토핑의 가짓수를 구해야 하므로 호기롭게 set으로 코드를 작성하고 제출했지만 마주친 결과는 시간초과였다. 어떻게 시간초과를 해결해야 할지 모르겠어서 힌트를 찾아본 결과 딕셔너리를 이용하면 시간을 줄..
프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 코드 import heapq def solution(scoville, K): answer = 0 # 섞은 횟수 heapq.heapify(scoville) # 최소 heap # 새로운 스코빌 지수 계산이 가능할 때(len >= 2) while len(scoville) >= 2: min1 = heapq.heappop(scoville) # 최소값이 K 이상이면 조건을 만족하므로 반복문 종료 if min1 >= K: return answer # 최소값이 K 미만이면 새로운 스코빌 지수 계산 else: min2 = h..
프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 코드 def solution(clothes): # 각 종류별 가진 의상을 저장 (종류:[이름, 이름, ...]) closet = {} for name, kind in clothes: if kind in closet.keys(): closet[kind] += [name] else: closet[kind] = [name] # A의 종류가 N개, B의 종류가 M개 일 때 가능한 모든 경우의 수 (N+1)(M+1) answer = 1 for _, value in closet.items(): answer *= (len..
dduniverse
'Algorithm/프로그래머스' 카테고리의 글 목록