Algorithm/Baekjoon
-
백준 10816번: 숫자 카드 2 (Python)Algorithm/Baekjoon 2025. 1. 29. 18:39
1.먼저 N, n_list, M, 그리고 m_list에 각각의 정수와 리스트를 입력 받습니다. 2. 이중탐색을 사용할 것이므로, n_list를 먼저 정렬시켜줍니다.(.sort()사용)python 함수 - bisect_right & bisect_left그리고 여기서 사용하는 핵심 함수는 바로 bisect_right와 bisect_left입니다. bisect_right와 bisect_left는 파이썬 함수로서 이분탐색을 더 쉽게 만들어줍니다. bisect_left(list, n)n이 list에서 처음 등장하는 인덱스를 반환합니다.bisect_right(list, n)n이 list에서 마지막으로 등장한 다음 위치를 반환합니다.따라서 여기서 특정 숫자가 n_list에서 몇 번 나오는지를 확인하기 위해서는 bis..
-
백준 2512번:예산(Python)Algorithm/Baekjoon 2025. 1. 28. 10:00
먼저 지방의 수를 의미하는 정수 N, N 개의 정수를 a라는 리스트에 그리고 지방 예산을 M이라는 변수에 입력받는다.a 리스트를 정렬하고 모든 요청을 배정할 수 있는 경우와 그렇지 않은 경우로 나눈다. (if 문 사용)만약 배정 가능하다면 max(a)를 사용하여 상한액을 출력한다.만약 그렇지 않다면 포문을 돌려 a리스트에 있는 지방 예산들이 상한액을 넘는지 안 넘는지를 확인한다.상한액을 넘지 않는다면 M에서 그 지방 예산을 빼고 count 값을 올린다.a리스트의 상한액을 넘지 않는 지방 예산들을 모두 빼고나서는(즉 상한액을 넘는 지방 예산들만 모아서) 그 지방 수 만큼 나누어 평균(value)를 낸다면 그 값이 상한액이 될 것이다.