반응형

파이썬 문제풀이/그리드 5

[백준 파이썬] 보물 1026

[백준 파이썬] 보물 1026 문제길이가 N인 정수 배열 A와 B가 있다 다음과 같이 함수 S를 정의하자. S의 값을 가장 작게 만들기 위해 A의 수를 재배열 하자 단, B에 있는 수는 재배열하면 안 된다.S의 값이 최소가 되는 프로그램을 작성하라.입력첫째줄에 N이 주어진다.둘째 줄에는 A의 배열이 주어진다.셋째 줄에는 B의 배열의 주어진다. 출력첫째줄에 S의 최솟값을 출력한다.풀이A배열만 움직여 B배열과 곱셈을 하여 모든 값을 다 더한 값을 S이다. 이때 A배열의 인덱스만 움직여야 한다고 한다. B배열의 값들의 위치는 정해져 있고 최솟값이 되기 위해서는 B배열의 높은 값을 A배열의 가장 낮은 값을 곱셈하도록 만들어주면 가장 낮은 S값이 된다. 결론은 A 배열을 오름차순으로 정렬한고 B배열을 내림차순으로..

[백준 파이썬] 19598 최소 회의실 개수

[백준 파이썬] 19598 최소 회의실 개수 문제 n개의 회의를 모두 진행할 수 있는 최소 회의실 개수를 구하라는 미션을 받았다. 각회의는 시작과 끝 나는 시간이 주어진다. 한 회의실에서 동시에 2개의 회의 진행은 불가능하다. 회는 중간에 중단될수 없으며 끝나야지 다음 회의를 진행할 수 있다. 회의 시작 시간은 끝나는 시간보다 항상 작다 입력 첫줄은 배열의 크기 n 둘째 줄부터 공백사이를 두고 회의 시작 시간과 끝나는 시간이 주어진다. 출력 최소 회의실 개수를 출력한다. 풀이 정답을 넣을 리스트를 만들고 처음 시작할 때 아무런 조건 없이 회의실을 배정받을 수 있다 그 후부터는 배정받은 회의의 끝나는 시간을 다른 회의들의 시작시간하고 비교하여 그 자리를 대체하거나 새로운 회의실을 배정받는 식으로 문제를 풀..

[백준 1700 파이썬] 멀티탭 스케줄링

백준 1700 멀티탭 스케줄링 https://www.acmicpc.net/problem/1700 1700번: 멀티탭 스케줄링 기숙사에서 살고 있는 준규는 한 개의 멀티탭을 이용하고 있다. 준규는 키보드, 헤어드라이기, 핸드폰 충전기, 디지털 카메라 충전기 등 여러 개의 전기용품을 사용하면서 어쩔 수 없이 각종 전 www.acmicpc.net 문제 - 준규는 자신의 생활 패턴을 분석하여, 자기가 사용하고 있는 전기용품의 사용순서를 알아내었고, 이를 기반으로 플러그를 빼는 횟수를 최소화하는 방법을 고안하여 보다 쾌적한 생활환경을 만들려고 한다. 예를 들어 3 구(구멍이 세 개 달린) 멀티탭을 쓸 때, 전기용품의 사용 순서가 아래와 같이 주어진다면, 키보드 헤어드라이기 핸드폰 충전기 디지털카메라 충전기 키보드..

[백준 1789 파이썬] 수들의 합

백준 1789 수들의 합 https://www.acmicpc.net/problem/1789 1789번: 수들의 합 첫째 줄에 자연수 S(1 ≤ S ≤ 4,294,967,295)가 주어진다. www.acmicpc.net 문제 서로 다른 n개의 자연수의 합을 s라 할 때 자연수 n의 최댓값은 얼마인가 (n개의 자연수의 합이 s 이다) 입력 첫째줄에 자연수 s가 주어진다 출력 n의 최댓값을 출력한다 풀이 n의 개수를 최대로 하기 위해서는 1부터 n의 값을 +1 하여 s에 근접하게 만들면 된다고 생각하였다 그래서 반복문을 사용하여 1부터 s보다 작거나 같을 때까지 더하여 s보다 커지면 현재 더한 값에서 -1 한 값을 출력한다 코드 s=int(input()) sum=0 i=1 while sums: #더했을때 s보..

[백준 11508 파이썬] 2+1 세일 풀이

문제 유제품을 3개를 한 번에 산다면 그중 가잔 싼 것은 무료 나머지 두 개의 제품 가격만 지불한다 한 번에 3개를 사지 않는다면 할인 없이 정가 지불해야 한다 입력 첫 줄에 유제품수 두 번째 줄부터는 각 유제품의 가격 출력 n개의 유제품을 살 때 최소 비용을 출력한다 예제 (3,2,2) (3) 이렇게 구입한다 문제풀이 1. 정렬을 이용하여 큰 수부터 정렬한다 2. 입력받은 유제품 가격을 루프를 돌려 3의 배수가 아닐 때 그 유제품 가격을 더한다 코드 n=int(input()) data=[] for i in range(n): a=int(input()) data.append(a) #유제품 가격 저장 data.sort(reverse=True) #역정렬 answer=0 count=1 while count

반응형