목록코딩 테스트/백준 문제 풀이 (105)
공부 기록장
https://www.acmicpc.net/problem/2217 2217번: 로프 N(1 ≤ N ≤ 100,000)개의 로프가 있다. 이 로프를 이용하여 이런 저런 물체를 들어올릴 수 있다. 각각의 로프는 그 굵기나 길이가 다르기 때문에 들 수 있는 물체의 중량이 서로 다를 수도 있다. 하 www.acmicpc.net 코드 # 모든 로프를 사용할 필요가 없다 import sys n = int(sys.stdin.readline()) rope = [] for i in range(n): rope.append(int(sys.stdin.readline())) rope.sort(reverse=True) mlist = [] while rope: rlen = len(rope) last = rope.pop() mlis..
https://www.acmicpc.net/problem/2839 2839번: 설탕 배달 상근이는 요즘 설탕공장에서 설탕을 배달하고 있다. 상근이는 지금 사탕가게에 설탕을 정확하게 N킬로그램을 배달해야 한다. 설탕공장에서 만드는 설탕은 봉지에 담겨져 있다. 봉지는 3킬로그 www.acmicpc.net 코드 n = int(input()) cnt = 0 while True: if n < 0: # N을 만들 수 없는 경우 cnt = -1 break if n % 5 == 0: cnt5 = n // 5 cnt += cnt5 break n -= 3 cnt += 1 if n == 0: break print(cnt) 5kg 봉지로 가져가면 가져가는 봉지의 개수를 줄일 수 있으므로, 최대한 5kg 봉지를 많이 써서 가져..
문제 설명 N(홀수)개의 수가 주어졌을 때, 아래의 통계값들을 구하기 1. 산술평균 : N개의 수들의 합을 N으로 나눈 값 2. 중앙값 : N개의 수들을 증가하는 순서로 나열했을 경우 그 중앙에 위치하는 값 3. 최빈값 : N개의 수들 중 가장 많이 나타나는 값 4. 범위 : N개의 수들 중 최댓값과 최솟값의 차이 입력 첫째 줄에 수의 개수 N( 1 ≤ N ≤ 500,000 )이 주어지고, N은 홀수이다 그 이후 N개의 줄에 정수들이 주어진다. 입력되는 정수의 절댓값은 4,000을 넘지 않는다. 출력 산술평균은 소수점 이하 첫째 자리에서 반올림한 값을 출력한다. 최빈값은 여러 개 있을 경우 두 번째로 작은 값을 출력한다. 코드 from collections import Counter import sys ..
문제 설명 프린터는 요청된 것은 먼저 인쇄한다. = 상근이는 새로운 프린터기 내부 소프트웨어를 개발했는데, 이 프린터기는 다음과 같은 조건에 따라 인쇄된다. 1. 현재 Queue의 가장 앞에 있는 문서의 '중요도'를 확인한다. 2. 나머지 문서들 중 현재 문서보다 중요도가 높은 문서가 하나라도 있으면, 이 문서를 인쇄하지 않고 Queue의 가장 뒤에 재배치 한다. 그렇지 않다면 바로 인쇄한다. 입력 첫 줄에 테스트케이스의 수가 주어지고 각 테스트케이스는 두 줄로 이루어져 있다. 첫 줄에는 문서의 개수 N과 몇 번째로 인쇄되었는지 궁금한 문서가 Queue에 몇 번째로 놓여 있는지 나타내는 정수 M이 주어진다. 두 번째 줄에는 N개의 문서의 중요도가 차례대로 주어진다. 중요도는 1 이상 9 이하의 정수이고 ..