본문 바로가기

코딩 테스트/프로그래머스

(6)
[프로그래머스 Python] - 괄호변환(2020 KAKAO BLIND RECRUITMENT) def make(arr): # 변수정의 cnt1 = 0 cnt2 = 0 state = True # Main # 빈 문자열 반환 if arr == []: return [] for idx,val in enumerate(arr): if val == '(': cnt1 += 1 else : cnt2 += 1 if cnt1 == cnt2 : break; elif cnt1 < cnt2 : # cnt2가 더 크면 올바르지 않은 괄호 문자열 print("올바르지 않은 괄호 문자열") state = False # 반환값 비교 u = arr[0:idx+1] v = arr[idx+1:] if len(v) == 0: answer.append((state,u)) return answer else : answer.append((s..
[프로그래머스 Python] - 더 맵게(heap) programmers.co.kr/learn/courses/30/lessons/42626 코딩테스트 연습 - 더 맵게 매운 것을 좋아하는 Leo는 모든 음식의 스코빌 지수를 K 이상으로 만들고 싶습니다. 모든 음식의 스코빌 지수를 K 이상으로 만들기 위해 Leo는 스코빌 지수가 가장 낮은 두 개의 음식을 아래와 같 programmers.co.kr import heapq def solution(scoville, K): cnt = 0 heapq.heapify(scoville) while(1): min1 = heapq.heappop(scoville) if(min1=1): min2 = heapq.heappop(scoville) heapq.heappush(scoville,min1+min2*2) cnt+=1 else..
[프로그래머스 Python] - 전화번호 목록 programmers.co.kr/learn/courses/30/lessons/42577 코딩테스트 연습 - 전화번호 목록 전화번호부에 적힌 전화번호 중, 한 번호가 다른 번호의 접두어인 경우가 있는지 확인하려 합니다. 전화번호가 다음과 같을 경우, 구조대 전화번호는 영석이의 전화번호의 접두사입니다. 구조 programmers.co.kr def solution(phone_book): phone_book.sort() for a in range (0,len((phone_book)-1)): if phone_book[a] in phone_book[a+1]: return False return True
[프로그래머스 Python] - 완주하지 못한 선수 onprogrammers.co.kr/learn/courses/30/lessons/42576 코딩테스트 연습 - 완주하지 못한 선수 수많은 마라톤 선수들이 마라톤에 참여하였습니다. 단 한 명의 선수를 제외하고는 모든 선수가 마라톤을 완주하였습니다. 마라톤에 참여한 선수들의 이름이 담긴 배열 participant와 완주한 선수 programmers.co.kr from collections import Counter def solution(participant, completion): return list(Counter(participant) - Counter(completion))[0]
프로그래머스 - 예산[Python] https://programmers.co.kr/learn/courses/30/lessons/43237 코딩테스트 연습 - 예산 국가의 역할 중 하나는 여러 지방의 예산요청을 심사하여 국가의 예산을 분배하는 것입니다. 국가예산의 총액은 미리 정해져 있어서 모든 예산요청을 배정해 주기는 어려울 수도 있습니다. 그�� programmers.co.kr def solution(budgets, M): mins, maxs = 0, max(budgets) answer = 0 while mins M: maxs = mid-1 elif sum(temp)
프로그래머스 - 가장 먼 노드[Python] https://programmers.co.kr/learn/courses/30/lessons/49189?language=python3 코딩테스트 연습 - 가장 먼 노드 6 [[3, 6], [4, 3], [3, 2], [1, 3], [1, 2], [2, 4], [5, 2]] 3 programmers.co.kr 1. 인접 노드 구하기 adj = [ [] for _ in range(n+1)] for e in edge: adj[e[0]].append(e[1]) adj[e[1]].append(e[0])