정렬 81

백준(Python) 1758번 알바생 강호 풀이

Python으로 구현한 1758번 알바생 강호 문제 풀이입니다. https://www.acmicpc.net/problem/1758 1758번: 알바생 강호 첫째 줄에 스타박스 앞에 서 있는 사람의 수 N이 주어진다. N은 100,000보다 작거나 같은 자연수이다. 둘째 줄부터 총 N개의 줄에 각 사람이 주려고 하는 팁이 주어진다. 팁은 100,000보다 작거나 같 www.acmicpc.net n = int(input()) data = [] for _ in range(n) : data.append(int(input())) data.sort(reverse=True) result = 0 for i in range(n) : value = data[i] - ((i+1)-1) if value > 0 : result..

백준(Python) 12723번 Minimum Scalar Product (Small) 풀이

Python으로 구현한 12723번 Minimum Scalar Product (Small) 문제 풀이입니다. https://www.acmicpc.net/problem/12723 12723번: Minimum Scalar Product (Small) You are given two vectors v1=(x1,x2,...,xn) and v2=(y1,y2,...,yn). The scalar product of these vectors is a single number, calculated as x1y1+x2y2+...+xnyn. Suppose you are allowed to permute the coordinates of each vector as you wish. Choose two permuta www.a..

백준(Python) 11597번 Excellence 풀이

Python으로 구현한 11597번 Excellence 문제 풀이입니다. https://www.acmicpc.net/problem/11597 11597번: Excellence The World Coding Federation is setting up a huge online programming tournament of teams comprised of pairs of programmers. Judge David is in charge of putting teams together from the Southeastern delegation. Every student must be placed on exactly one team www.acmicpc.net n = int(input()) data = [] ..

백준(Python) 12034번 김인천씨의 식료품가게 (Large) 풀이

Python으로 구현한 12034번 김인천씨의 식료품가게 (Large) 문제 풀이입니다. https://www.acmicpc.net/problem/12034 12034번: 김인천씨의 식료품가게 (Large) 입력의 첫 번째 라인(줄)은 테스트 사례의 케이스의 수 T를 나타냅니다. 이후의 라인은 T개의 테스트 케이스가 이어집니다. 각 테스트 케이스는 두 줄로 구성됩니다. 첫 번째 줄에는 INU 식료품가 www.acmicpc.net t = int(input()) for tc in range(1, t + 1) : n = int(input()) data = sorted(map(int, input().split()), reverse=True) result = [] while data : price = data.p..

백준(Python) 11256번 사탕 풀이

Python으로 구현한 11256번 사탕 문제 풀이입니다. https://www.acmicpc.net/problem/11256 11256번: 사탕 당신은 사탕 공장의 주인이다. 날마다, 당신은 J개의 사탕을 가게에 보내기 위해 상자에 포장해야 한다. 당신은 크기가 다른 상자 N개를 가지고 있다. 당신은 편리를 위해 상자를 최소한으로 쓰 www.acmicpc.net t = int(input()) for _ in range(t) : j, n = map(int, input().split()) data = [] for _ in range(n) : a, b = map(int, input().split()) data.append(a*b) data.sort(reverse=True) result = 0 for i in..

백준(Python) 16435번 스네이크버드 풀이

Python으로 구현한 16435번 스네이크버드 문제 풀이입니다. https://www.acmicpc.net/problem/16435 16435번: 스네이크버드 첫 번째 줄에 과일의 개수 N (1 ≤ N ≤ 1,000) 과 스네이크버드의 초기 길이 정수 L (1 ≤ L ≤ 10,000) 이 주어집니다. 두 번째 줄에는 정수 h1, h2, ..., hN (1 ≤ hi ≤ 10,000) 이 주어집니다. www.acmicpc.net n, l = map(int, input().split()) fruit = list(map(int, input().split())) fruit.sort() for i in range(len(fruit)) : if l >= fruit[i] : l += 1 print(l) 1. 반복문을..

백준(Python) 9237번 이장님 초대 풀이

Python으로 구현한 9237번 이장님 초대 문제 풀이입니다. https://www.acmicpc.net/problem/9237 9237번: 이장님 초대 입력은 두 줄로 이루어져 있다. 첫째 줄에는 묘목의 수 N (1 ≤ N ≤ 100,000)이 주어진다. 둘째 줄에는 각 나무가 다 자라는데 며칠이 걸리는지를 나타낸 ti가 주어진다. (1 ≤ ti ≤ 1,000,000) www.acmicpc.net n = int(input()) data = list(map(int, input().split())) data.sort(reverse=True) for i in range(n) : data[i] = data[i] + i + 1 print(max(data) + 1) 1. 이장님을 최대한 빨리 초대하기 위해 나무..

백준(Python) 15720번 카우버거 풀이

Python으로 구현한 15720번 카우버거 문제 풀이입니다. https://www.acmicpc.net/problem/15720 15720번: 카우버거 첫째 줄에는 주문한 버거의 개수 B, 사이드 메뉴의 개수 C, 음료의 개수 D가 공백을 사이에 두고 순서대로 주어진다. (1 ≤ B, C, D ≤ 1,000) 둘째 줄에는 각 버거의 가격이 공백을 사이에 두고 주어진 www.acmicpc.net b, c, d = map(int, input().split()) burger = list(map(int, input().split())) side = list(map(int, input().split())) drink = list(map(int, input().split())) burger.sort(reverse..

[정렬] 이코테 (파이썬) 카드 정렬하기 풀이

[문제] 정렬된 두 묶음의 숫자 카드가 있을 때 각 묶음의 카드의 수를 A, B라 하면 보통 두 묶음을 합쳐서 하나로 만드는 데에는 A + B번의 비교를 해야 합니다. 이를테면, 20장의 숫자 카드 묶음과 30장의 숫자 카드 묶음을 합치려면 50번의 비교가 필요합니다. 매우 많은 숫자 카드 묶음이 책상 위에 놓여 있습니다. 이들을 두 묶음씩 골라 서로 합쳐나간다면, 고르는 순서에 따라서 비교 횟수가 매우 달라집니다. 예를 들어 10장, 20장, 40장의 묶음이 있다면 10장과 20장을 합친 뒤, 합친 30장 묶음과 40장을 합친다면 (10 + 20) + (30 + 40) = 100번의 비교가 필요합니다. 그러나 10장과 40장을 합췬 뒤, 합친 50장 묶음과 20장을 합친다면 (10 + 40) + (50..

[정렬] 이코테 (파이썬) 실패율 풀이

[문제] 슈퍼 게임 개발자 오렐리는 큰 고민에 빠졌습니다. 그녀가 만든 프렌즈 오천성이 대성공을 거뒀지만, 요즘 신규 사용자의 수가 급감했습니다. 원인은 신규 사용자와 기존 사용자 사이에 스테이지 차이가 너무 큰 것이 문제였습니다. 이 문제를 어떻게 할까 고민한 그녀는 동적으로 게임 시간을 늘려서 난이도를 조절하기로 했습니다. 역시 슈퍼 개발자라 대부분의 로직은 쉽게 구현했지만, 실패율을 구하는 부분에서 위기에 빠지고 말았습니다. 오렐리를 위해 실패율을 구하는 코드를 완성하세요. 실패율은 다음과 같이 정의합니다. 스테이지에 도달했으나 아직 클리어하지 못한 플레이어의 수 / 스테이지에 도달한 플레이어의 수 전체 스테이지의 개수 N, 게임을 이용하는 사용자가 현재 멈춰있는 스테이지의 번호가 담긴 배열 sta..