목록코딩 테스트 (121)
공부 기록장
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 이하의 정수이고 ..
문제 설명 1번부터 N번까지 N명의 사람이 원을 이루어 앉아있고, 양의 정수 K가 주어진다. 순서대로 K번째 사람을 제거하고, 한사람이 제거되면 남은 사람들고 이루어진 원을 따라 이 과정을 계속해나간다. 입력 N과 K가 빈 칸을 사이에 두고 순서대로 주어진다. (1 ≤ K ≤ N ≤ 5,000) 7 3 출력 요세푸스 순열을 출력한다. 코드 n, k = map(int, input().split()) li =[i+1 for i in range(n)] # [1,2,3,4,5,6,7] idx = k-1 answer = [] while li: answer.append(li[idx]) del li[idx] idx += (k-1) if len(li) == 0: break idx %= len(li) print("") ..