목록분류 전체보기 (392)
HTD
www.acmicpc.net/problem/13904 import sys input = sys.stdin.readline N = int(input()) homeworks = [] for _ in range(N): homeworks.append(list(map(int, input().split()))) homeworks.sort(reverse=True, key=lambda x: x[1]) score = 0 days = [0]*1001 for homework in homeworks: for d in range(homework[0], 0, -1): if days[d] == 0: days[d] = 1 score += homework[1] break print(score) 값을 입력 받고, 이것을 받는 점수를 기..
www.acmicpc.net/problem/2212 import sys input = sys.stdin.readline N = int(input()) K = int(input()) censors = list(map(int, input().split())) censors.sort() if N < K: print(0) else: distancesBetweenCensors = [] for i in range(N-1): distancesBetweenCensors.append(censors[i+1]-censors[i]) distancesBetweenCensors.sort() for _ in range(K-1): distancesBetweenCensors.pop() print(sum(distancesBetweenC..
www.acmicpc.net/problem/15903 import heapq import sys input = sys.stdin.readline def getMergedCards(cards): newCard = heapq.heappop(cards) + heapq.heappop(cards) heapq.heappush(cards, newCard) heapq.heappush(cards, newCard) return cards n, m = map(int, input().split()) cards = list(map(int, input().split())) heapq.heapify(cards) for _ in range(m): cards = getMergedCards(cards) print(sum(cards)) ..
import sys input = sys.stdin.readline def dfs(num, cnt): if num == B: global Min if Min == -1: Min = cnt else: Min = min(Min, cnt) return nextNum = num*2 if nextNum
import sys input = sys.stdin.readline N, L = map(int, input().split()) leaks = list(map(int, input().split())) leaks.sort() cntTape = 0 noLeakUntil = 0 for leak in leaks: if noLeakUntil < leak: noLeakUntil = leak + L - 1 cntTape += 1 print(cntTape) 만약 테이프의 길이가 7이라고 했을 때, 10의 위치를 위해 9.5~16.5위치에 붙인다고 하면, 10~16의 위치까지의 누수도 해결이 된다. 우선 누수된 구간을 오름차순으로 정렬한다. 그리고 누수난 위치들을 for문으로 돌면서 순차적으로 테이프를 붙이되, 누수가 해..
www.acmicpc.net/problem/13305 import sys input = sys.stdin.readline N = int(input()) distances = list(map(int, input().split())) prices = list(map(int, input().split())) curMin = prices[0] minCost = 0 for i in range(N-1): curMin = min(curMin, prices[i]) minCost += curMin*distances[i] print(minCost) 우선, 문제를 보고 드는 생각은 가장 싼 곳에서 최대한 많이 주유를 해가면 된다는 것이었다. 그럼, 그 전에는 어떻게 가야하는가? 일반화를 해야하는데, 이것을 설명하기 위해 그..
www.acmicpc.net/problem/1783 import sys def getMaxVisitable(N, M): if N == 1: return 1 elif N == 2: return min(4, (M+1)//2) elif N >= 3: if M >= 7: return M-2 else: return min(M, 4) input = sys.stdin.readline N, M = map(int, input().split()) print(getMaxVisitable(N, M)) 사실 문제는 어려운 편이 아니어서, 코드의 도출 과정을 설명하겠다. 우선, 'N과 M은 2,000,000,000보다 작거나 같은 자연수이다.'를 통해서 이 문제는 반복문을 쓰지 말고 계산식을 써야한다라고 말해주고 있는 것이다. ..
면접은 1시간 20분 정도 진행되었고, 기공지된 면접 시간인 1시간을 훨씬 초과하였다. 질문들은 생각보다 CS쪽에서 별로 나오지 않았고, 코딩이라는 분야 전반적인 지식들을 위주로 나왔다. 같이 면접을 봤던 조에서는, '그걸 모르시는 상태에선 프로젝트를 진행하기 힘들 것 같은데요?'와 같은 압박 면접 식의 질문은 나오지 않았으며, 그렇다고 매우 편한 분위기는 아니었다. 다른 면접자분들께서 대답을 잘 하는 것을 보니 나에게도 큰 자극이 된 것 같다. 참고로 면접비도 넉넉하게 주신다. [추가] 불합격 통보 당연히 면접팀마다 다 다르겠지만, 서류상 경험이 매우 부족한 나에 대해서, '기술 스택이 좀 빈약하시네요?'와 같은 날카로운 질문들이 안 나왔어서 의아했는데, 이 취약한 부분을 내가 알고 있었으므로, 그냥 ..
로그인은 되는 것 같은데 노드메일러가 작동하지 않는 경우가 있다. 이를 위한 해결책이 보통은 다음의 것으로만 제시된다.https://myaccount.google.com/lesssecureapps 로그인 - Google 계정하나의 계정으로 모든 Google 서비스를 Google 계정으로 로그인accounts.google.com 하지만 밑의 방법도 동시에 시도해보아야 한다.https://accounts.google.com/DisplayUnlockCaptcha 로그인 - Google 계정하나의 계정으로 모든 Google 서비스를 Google 계정으로 로그인accounts.google.com
import sys input = sys.stdin.readline def dfs(idx, cnt): global maxCntReadable if cnt == K-5: # Base Case cntReadable = 0 for word in words: isReadable = True for c in word: if isLearned[ord(c)-ord('a')] == False: isReadable = False break if isReadable: cntReadable += 1 maxCntReadable = max(maxCntReadable, cntReadable) return for i in range(idx, 26): # Recursive Case if isLearned[i] == False: is..