목록2024/02 (99)
미소를뿌리는감자의 코딩
이번 주차가 드디어..? 심화 트랙 알고리즘 마지막 주차이다. 물론 알고리즘 푸는 것 재미나지만, 조금 지쳤달까..? ㅎㅎㅎ 이제 다른 것도 맛보고 싶다. 이번 주차는 다음 주차에 비해 난이도 측면에서 조금 나았다. 따라서, 비교적 마음 편히 문제를 풀 수 있어서 좋았다. 마지막 한 3일..? 정도 남은 것 같은데 잘 마무리 하고 싶다. 항해를 시작한지 좀 오래된 것 같다. 뭔가 생각보다 오래된 느낌? 사전 시작부터 시작해서 그런 것일지도 모르겠다. 현재 43일 스트릭까지다. 계속 스트릭 유지해서 365일 찍고 싶다. ++ 골드도 찍었다. 홍홍홍 너무 좋코... 뭔가 뿌듯한 이 느낌이다. 골드 다음도 찍고 싶다. 스프링 잘 할 수 있을까 걱정이 되는데 잘 하고 싶다.
https://www.acmicpc.net/problem/1654 1654번: 랜선 자르기 첫째 줄에는 오영식이 이미 가지고 있는 랜선의 개수 K, 그리고 필요한 랜선의 개수 N이 입력된다. K는 1이상 10,000이하의 정수이고, N은 1이상 1,000,000이하의 정수이다. 그리고 항상 K ≦ N 이다. 그 www.acmicpc.net 1. 접근 방법 자를 수 있는 제일 작은 랜선의 길이 = 1 자를 수 있는 제일 큰 랜선의 길이 = max(lines) 가 될 것이다. 이후 이를 기준으로 binary search를 진행하였다. 2. 코드 def max_length(lines, n): max_line = max(lines) min_line = 1 while min_line
https://www.acmicpc.net/problem/2805 2805번: 나무 자르기 첫째 줄에 나무의 수 N과 상근이가 집으로 가져가려고 하는 나무의 길이 M이 주어진다. (1 ≤ N ≤ 1,000,000, 1 ≤ M ≤ 2,000,000,000) 둘째 줄에는 나무의 높이가 주어진다. 나무의 높이의 합은 항상 M보 www.acmicpc.net 1. 접근 방법 이 문제의 경우 2 방법으로 접근하였다. 첫 번째 방법) 최대 height를 나무들 중에서 제일 높은 나무로 정한다. 이후, height -= 1을 해가면서 적정한 height를 찾는다. 하지만, 이런식으로만 구성을 하게 되면 시간 초과가 나게 된다. 만약 현재 height에서 구한 남은 나무의 길이와 m의 차이가 현재 남아 있는 나무의 개수..
https://www.acmicpc.net/problem/2512 2512번: 예산 첫째 줄에는 지방의 수를 의미하는 정수 N이 주어진다. N은 3 이상 10,000 이하이다. 다음 줄에는 각 지방의 예산요청을 표현하는 N개의 정수가 빈칸을 사이에 두고 주어진다. 이 값들은 모두 1 이상 www.acmicpc.net 1. 접근 방법 이 예제를 예로 들어서 설명을 해볼 것이다. 국가예산의 총액이 485 이므로, 총 지방 예상의 예산 요청 수(4)로 나눈다. 이걸 하기로 한 이유는, 예산 요청과 관계 없이, 국가 예산이 다른 지방 예산들에게 나누어 줄 수 있는 예산의 최대값을 구해보고 싶었기 때문이다. 486/4 = 121.25 이다. 평균보다 지방 예산 요청이 낮은 경우, 120, 110은 afford 할..