목록Algorithm/백준 (224)
Hanbit the Developer
www.acmicpc.net/problem/1427 1427번: 소트인사이드 첫째 줄에 정렬하고자하는 수 N이 주어진다. N은 1,000,000,000보다 작거나 같은 자연수이다. www.acmicpc.net import sys input = sys.stdin.readline nums = list(map(int, input().strip())) nums.sort(reverse=True) for num in nums: print(num, end="")
www.acmicpc.net/problem/2468 import sys sys.setrecursionlimit(20000) input = sys.stdin.readline N = int(input()) Map = [] for _ in range(N): Map.append(list(map(int, input().split()))) stateMap = None def getSafeZone(h): global stateMap stateMap = [[0]*N for _ in range(N)] cntSafeZone = 0 for i in range(N): for j in range(N): if Map[i][j] > h and stateMap[i][j] == 0: cntSafeZone += 1 dfs(i, j, h..
www.acmicpc.net/problem/1516 import sys input = sys.stdin.readline N = int(input()) buildTimes = [-1 for _ in range(N+1)] prevBuild = {i: [] for i in range(N+1)} realBuildTimes = [-1 for _ in range(N+1)] def getBuildTime(index): global realBuildTimes RET = buildTimes[index] for cur in prevBuild[index]: if realBuildTimes[cur] != -1: RET = max(RET, buildTimes[index]+realBuildTimes[cur]) else: RET ..
import heapq import sys input = sys.stdin.readline N = int(input()) S, T = 0, 1 # define times = [] for _ in range(N): times.append(list(map(int, input().split()))) times.sort(key=lambda x: x[0]) queue = [] heapq.heappush(queue, times[0][T]) for i in range(1, N): if times[i][S] >= queue[0]: heapq.heappop(queue) heapq.heappush(queue, times[i][T]) else: heapq.heappush(queue, times[i][T]) print(len..
www.acmicpc.net/problem/4949 4949번: 균형잡힌 세상 하나 또는 여러줄에 걸쳐서 문자열이 주어진다. 각 문자열은 영문 알파벳, 공백, 소괄호("( )") 대괄호("[ ]")등으로 이루어져 있으며, 길이는 100글자보다 작거나 같다. 입력의 종료조건으로 맨 마 www.acmicpc.net while True: strCur = input() if strCur == ".": break isBalanced = True stack = [-1] for c in strCur: if c in '([': stack.append(c) elif c == ')': if stack[-1] == ')': del stack[-1] else: isBalanced = False break elif c == '..
def dfs(x, y, cntMove): dx = [1, -1, 0, 0] dy = [0, 0, 1, -1] global RET RET = max(RET, cntMove) for i in range(4): curX = x + dx[i] curY = y + dy[i] if (0
www.acmicpc.net/problem/1912 1912번: 연속합 첫째 줄에 정수 n(1 ≤ n ≤ 100,000)이 주어지고 둘째 줄에는 n개의 정수로 이루어진 수열이 주어진다. 수는 -1,000보다 크거나 같고, 1,000보다 작거나 같은 정수이다. www.acmicpc.net N = int(input()) nums=list(map(int, input().split())) dp = [nums[0]] for i in range(1, N): dp.append(max(dp[i-1]+nums[i], nums[i])) print(max(dp))
def getSmallerSumMeterIndex(sumMeter, m): left, right = 0, len(sumMeter)-1 while left m: left = mid + 1 elif sumMeter[mid] == m: return mid return left N, M = map(int, input().split()) heights = list(map(int, input().split())) heights.sort() sumMeter = [] for i in range(N): if i==0: additionalCutHeight = heig..
T = int(input()) for _ in range(T): N = int(input()) scores = [0]*(N+1) for _ in range(N): curDoc, curInt = map(int, input().split()) scores[curDoc] = curInt minInt = scores[1] cntDropout = 0 for i in range(2, N+1): if scores[i] > minInt: cntDropout += 1 else: minInt = scores[i] print(N-cntDropout) 중복이 없는 등수로 입력되므로(1...N) 서류 점수를 index로 하고 인터뷰를 value로 가지는 배열을 만들어서 넣는다. 다음으로, 서류 점수를 의미하는 index를 1부..