문제풀이 245

[파이썬] [그리디] Pro 조이스틱

문제 https://programmers.co.kr/learn/courses/30/lessons/42860?language=python3 코딩테스트 연습 - 조이스틱 조이스틱으로 알파벳 이름을 완성하세요. 맨 처음엔 A로만 이루어져 있습니다. ex) 완성해야 하는 이름이 세 글자면 AAA, 네 글자면 AAAA 조이스틱을 각 방향으로 움직이면 아래와 같습니다. ▲ - 다 programmers.co.kr 코드 def solution(name): answer = 0 length = len(name) move = length - 1 temp=[n for n in name] for i in range(len(temp)): answer += min(ord(temp[i]) - ord('A'), ord('Z') - o..

* [파이썬] [완전탐색] Pro 소수 찾기

문제 https://programmers.co.kr/learn/courses/30/lessons/42839?language=python3 코딩테스트 연습 - 소수 찾기 한자리 숫자가 적힌 종이 조각이 흩어져있습니다. 흩어진 종이 조각을 붙여 소수를 몇 개 만들 수 있는지 알아내려 합니다. 각 종이 조각에 적힌 숫자가 적힌 문자열 numbers가 주어졌을 때, 종이 programmers.co.kr 코드 from itertools import permutations def solution(numbers): answer = 0 nums = [n for n in numbers] # numbers를 하나씩 자른 것 per = [] for i in range(1, len(numbers) + 1): # numbers..

문제풀이/기타 2022.02.15

[파이썬] [정렬] Pro H-Index

문제 https://programmers.co.kr/learn/courses/30/lessons/42747?language=python3 코딩테스트 연습 - H-Index H-Index는 과학자의 생산성과 영향력을 나타내는 지표입니다. 어느 과학자의 H-Index를 나타내는 값인 h를 구하려고 합니다. 위키백과1에 따르면, H-Index는 다음과 같이 구합니다. 어떤 과학자가 발표 programmers.co.kr 코드 from bisect import bisect_left def solution(citations): answer = 0 citations.sort() for i in range(10000): index=bisect_left(citations,i) if len(citations)-index>..

문제풀이/정렬 2022.02.14

* [파이썬] [정렬] Pro 가장 큰 수

문제 https://programmers.co.kr/learn/courses/30/lessons/42746?language=python3 코딩테스트 연습 - 가장 큰 수 0 또는 양의 정수가 주어졌을 때, 정수를 이어 붙여 만들 수 있는 가장 큰 수를 알아내 주세요. 예를 들어, 주어진 정수가 [6, 10, 2]라면 [6102, 6210, 1062, 1026, 2610, 2106]를 만들 수 있고, 이중 가장 큰 programmers.co.kr 코드 def solution(numbers): ans=list(map(str,numbers)) ans.sort(key= lambda x:x*3, reverse=True) return str(int("".join(ans))) 생각 정리 int형의 list를 map을..

문제풀이/정렬 2022.02.14

* [파이썬] [힙] Pro 디스크 컨트롤러

문제 https://programmers.co.kr/learn/courses/30/lessons/42627?language=python3 코딩테스트 연습 - 디스크 컨트롤러 하드디스크는 한 번에 하나의 작업만 수행할 수 있습니다. 디스크 컨트롤러를 구현하는 방법은 여러 가지가 있습니다. 가장 일반적인 방법은 요청이 들어온 순서대로 처리하는 것입니다. 예를 programmers.co.kr 코드 import heapq def solution(jobs): start=-1 answer,now,i=0,0,0 q=[] while i

문제풀이/기타 2022.02.13

[파이썬] [힙] Pro 이중우선순위큐

문제 https://programmers.co.kr/learn/courses/30/lessons/42628?language=python3 코딩테스트 연습 - 이중우선순위큐 programmers.co.kr 코드 import heapq def solution(operations): min=[] max=[] for i in operations: print(min,max) j,k=i.split() if j=="I": heapq.heappush(min,int(k)) heapq.heappush(max,-int(k)) if len(min)>0: if j=="D": if k=="1": temp=-1*heapq.heappop(max) min.remove(temp) if k=="-1": temp=heapq.heappop(..

문제풀이/기타 2022.02.13

[파이썬] [DFS] 백준 3109 빵집

문제 https://www.acmicpc.net/problem/3109 3109번: 빵집 유명한 제빵사 김원웅은 빵집을 운영하고 있다. 원웅이의 빵집은 글로벌 재정 위기를 피해가지 못했고, 결국 심각한 재정 위기에 빠졌다. 원웅이는 지출을 줄이고자 여기저기 지출을 살펴보던 www.acmicpc.net 코드 import sys input=sys.stdin.readline def dfs(r,c): if c==col-1: return 1 for i in r-1,r,r+1: if 0

[파이썬] [힙] Pro 더 맵게

문제 https://programmers.co.kr/learn/courses/30/lessons/42626 코딩테스트 연습 - 더 맵게 매운 것을 좋아하는 Leo는 모든 음식의 스코빌 지수를 K 이상으로 만들고 싶습니다. 모든 음식의 스코빌 지수를 K 이상으로 만들기 위해 Leo는 스코빌 지수가 가장 낮은 두 개의 음식을 아래와 같 programmers.co.kr 코드 import heapq def solution(scoville, K): q=[] count=0 for i in scoville: heapq.heappush(q,i) while q[0]

문제풀이/기타 2022.02.12

* [파이썬] [스택/큐] Pro 주식가격

문제 https://programmers.co.kr/learn/courses/30/lessons/42584 코딩테스트 연습 - 주식가격 초 단위로 기록된 주식가격이 담긴 배열 prices가 매개변수로 주어질 때, 가격이 떨어지지 않은 기간은 몇 초인지를 return 하도록 solution 함수를 완성하세요. 제한사항 prices의 각 가격은 1 이상 10,00 programmers.co.kr 코드 def solution(prices): answer = [] *len(prices) for i in range(len(prices)): index=-1 for j in range(i+1, len(prices)): if prices[i]>prices[j]: index=j break if index==-1: ans..

문제풀이/기타 2022.02.11

* [파이썬] [스택/큐] Pro 다리를 지나는 트럭

문제 https://programmers.co.kr/learn/courses/30/lessons/42583 코딩테스트 연습 - 다리를 지나는 트럭 트럭 여러 대가 강을 가로지르는 일차선 다리를 정해진 순으로 건너려 합니다. 모든 트럭이 다리를 건너려면 최소 몇 초가 걸리는지 알아내야 합니다. 다리에는 트럭이 최대 bridge_length대 올라갈 programmers.co.kr 코드 def solution(bridge_length, weight, truck_weights): count=0 check=[0]*bridge_length while check: count+=1 check.pop(0) if truck_weights: if sum(check)+truck_weights[0] [트럭,0]-> [0,0]..

문제풀이/기타 2022.02.11