본문 바로가기
[Python] 1912. 연속합 www.acmicpc.net/problem/1912 1912번: 연속합 첫째 줄에 정수 n(1 ≤ n ≤ 100,000)이 주어지고 둘째 줄에는 n개의 정수로 이루어진 수열이 주어진다. 수는 -1,000보다 크거나 같고, 1,000보다 작거나 같은 정수이다. www.acmicpc.net n개의 정수로 이루어진 임의의 수열이 주어지는데, 연속된 몇개의 수의 합 중 가장 큰 합을 구하려고 한다. 단, 하나의 수는 필수로 선택해야 한다. 이 문제는 삽질의 끝판왕이었던 문제였다. 우선 코드부터 보고 이야기 해보도록 하자. def sol(data) : ans= [] for i in range(len(data)): for j in range(len(data[i:])): ans.append(sum(data[i:i+j.. 2021. 1. 30.
[Java] 13458. 시험 감독 www.acmicpc.net/problem/13458 13458번: 시험 감독 첫째 줄에 시험장의 개수 N(1 ≤ N ≤ 1,000,000)이 주어진다. 둘째 줄에는 각 시험장에 있는 응시자의 수 Ai (1 ≤ Ai ≤ 1,000,000)가 주어진다. 셋째 줄에는 B와 C가 주어진다. (1 ≤ B, C ≤ 1,000,000) www.acmicpc.net N개의 시험장과 각 시험장의 A만큼의 응시자가 있다. 감독관은 총감독관과 부감독관으로 나뉘는데, 각 감독관마다의 감시할 수 있는 응시자의 수인 B, C가 주어진다. 각 응시장에는 총감독관 1명이 필수로 있어야 하고, 부감독관은 여러명 있어도 된다. 주어진 입력값을 이용하여 감독관의 최솟값을 구하는 것이 문제이다. 문제에 접근하는 방법은 다음과 같았다. 1.. 2021. 1. 29.
[Java] 2217. 로프 www.acmicpc.net/problem/2217 2217번: 로프 N(1 ≤ N ≤ 100,000)개의 로프가 있다. 이 로프를 이용하여 이런 저런 물체를 들어올릴 수 있다. 각각의 로프는 그 굵기나 길이가 다르기 때문에 들 수 있는 물체의 중량이 서로 다를 수도 있다. 하 www.acmicpc.net N개의 로프를 이용하여 들 수 있는 물체의 최고 중량을 구하는 문제이다. N개의 로프를 이용하여 W의 중량을 들고자 할 때, 각 로프에는 W/N의 중량이 실리게 된다. (이 문구를 보고 배열로 입력을 받고, (최솟값 * 배열의 개수)가 그 시점의 최대 무게라고 생각했다.) 전반적인 알고리즘 흐름은 다음과 같다. 1. 배열로 입력을 받아온다. 2. 현재 배열에서의 최솟값과 그 때의 배열의 길이를 곱해준다.. 2021. 1. 28.
[Java] 1475. 방번호 www.acmicpc.net/problem/1475 1475번: 방 번호 첫째 줄에 다솜이의 방 번호 N이 주어진다. N은 1,000,000보다 작거나 같은 자연수 또는 0이다. www.acmicpc.net 0~9까지의 숫자로 이루어진 숫자 세트를 이용하여 방번호를 표현하고자 한다. 주어진 입력은 최소 몇 개의 세트를 이용해야 하는지 출력하면 된다. 단, 문제의 핵심 포인트는 6과 9를 서로 뒤집어서 사용할 수 있다고 한다. //1 배열을 0~9까지가 아닌 0~8까지만 생성하였다. 이유는 6과 9를 함께 count하면서 나중의 계산을 편하게 하기 위함이다. //2 idx 변수로 최댓값의 인덱스를, max변수로 배열의 최댓값을 저장한다. //3 최댓값의 인덱스가 6일 경우에, 한 세트에 6과 9가 각각 1.. 2021. 1. 27.