목록2024/01/14 (6)
JiSoo's Devlog
n, m, B = map(int, input().split()) g = [list(map(int, input().split())) for i in range(n)] mt = 9999999999 h = 0 for i in range(257): bottom = 0 top = 0 for j in range(n): #가로 for k in range(m): #세로 if g[j][k] >= i: #블럭이 현재 높이보다 크면 top += g[j][k] - i else: bottom += i - g[j][k] if bottom > top + B: continue t = bottom + (top*2) if t = i라면 흙을 파서 높이 맞춰주고 땅을 판 횟수를 top에 저장 땅[x][y] < i라면 흙을 쌓아 높이 맞춰..
ord 함수는 아스키코드 값을 반환해 준다 a~z : 97~122 A~Z: 65~90 mod는 나머지 연산이기 때문에 %로 계산해 출력
k, n = map(int, input().split()) a=[] for i in range(k): a.append(int(input())) start = 1 end = max(a) while(start = n: start = mid + 1 else: end = mid - 1 print(end) 길이 범위를 1부터 가장 긴 랜선 길이까지 잘라진 랜선의 개수가 n보다 많으면 mid보다 더 큰 수들만 다시 확인하면 되기 때문에 mid+1 최대 랜선 길이를 구해야 하기 때문에 필요한 랜선 개수보다 작아지는 순간 mid -1
from collections import deque t = int(input()) for i in range(t): n, m = map(int, input().split()) a = deque(list(map(int, input().split()))) c = 0 while(a): b = max(a) f = a.popleft() m -= 1 if b == f: c += 1 if m < 0: print(c) break else: a.append(f) if m < 0: m = len(a) - 1 몇 번째로 출력되는지 알고 싶은 궁금한 문서가 남은 큐 중에서 가장 큰 수가 될 때까지 검사 알고 싶은 문서의 인덱스를 m으로 계산 제일 앞에 있는걸 popleft로 뽑고 알고 싶은 문서 m의 위치가 앞으로 당겨지기..
import sys def roundup(num): if(num - int(num)) >= 0.5: return int(num) + 1 else: return int(num) n = int(sys.stdin.readline()) if n == 0: print(0) else: a = [] for i in range(n): a.append((int(sys.stdin.readline()))) a.sort() b = roundup(n*0.15) print(roundup(sum(a[b:n-b])/len(a[b:n-b]))) 의견이 없는 경우 난이도 0인 것을 고려한다 유의할 점은 round 함수를 쓰면 안 된다 - 사사오입의 원칙 때문(5에서 반올림할 때 앞자리가 홀수면 올림, 짝수면 내림) 슬라이싱을 위해 정렬..