https://www.acmicpc.net/problem/1946 1946번: 신입 사원 첫째 줄에는 테스트 케이스의 개수 T(1 ≤ T ≤ 20)가 주어진다. 각 테스트 케이스의 첫째 줄에 지원자의 숫자 N(1 ≤ N ≤ 100,000)이 주어진다. 둘째 줄부터 N개 줄에는 각각의 지원자의 서류심사 성 www.acmicpc.net 문제 풀이 가장 처음 해야 할 것은 성적을 오름차순으로 정렬하는 것이다. 어차피 서류평가 성적이나 면접시험 성적 중 하나라도 다른 지원자들보다 높으면 합격을 하기 때문이다. 그 후 나머지 성적을 비교해 합불을 따지면 된다. 여기까지 아이디어를 떠오리는데 오랜 시간이 걸리지 않았고, 곧바로 코드로 작성할 수 있었다. import sys input = sys.stdin.readl..

문제를 정리해보면 각 도시마다 리터당 기름의 가격이 최종 목적지까지의 거리가 정해져 있다. 최종 도시까지 이동할때 가장 적은 기름의 가격을 지불하여 이동하는것이 문제이다. 처음에 생각해낸 문제 풀이는 1번 도시와 2번 도시와의 기름 가격을 비교하고 출발하는 도시에서의 기름 가격이 더 비쌀 경우 최소한의 거리량만 기름을 주유하고, 그 다음 도시보다 지금 도시가 더 쌀 경우 두개의 도시를 이동할 거리의 기름량을 충전하고 계산하도록 하는 것이다. n = int(input()) distance = list(map(int,input().split())) priceOfOil = list(map(int, input().split())) price = 0 i = 0 while i < n-1: if priceOfOil[..
문제를 정리해보면 N(1 ≤ N ≤ 100,000)개의 로프 중에서 여러 개의 로프를 병렬로 연결하면 각 로프마다 고르게 무게가 분포되어 중량을 들 수 있다. 여기서 중량의 최대치를 구하면 되는 문제이다. ex) 23 27 15 11 3 이렇게 로프가 존재할 때 들 수 있는 중량의 무게는 23 46 45 44 15 이렇게 된다. 따라서 최대치는 46이다. 문제풀이 처음에 생각해낸 방법은 파이썬의 슬라이싱 기법을 활용하여 푸는 것이었다. n = int(input()) arr = [] for i in range(n): arr.append(int(input())) max_weight = 0 for i in range(len(arr)): min_rope = min(arr[:i+1]) weight = min_ro..