본문 바로가기

분류 전체보기142

파이썬) 백준 알고리즘 | 2696번 : 중앙값 구하기 https://www.acmicpc.net/problem/2696 2696번: 중앙값 구하기 첫째 줄에 테스트 케이스의 개수 T(1 ≤ T ≤ 1,000)가 주어진다. 각 테스트 케이스의 첫째 줄에는 수열의 크기 M(1 ≤ M ≤ 9999, M은 홀수)이 주어지고, 그 다음 줄부터 이 수열의 원소가 차례대로 주 www.acmicpc.net 백준 2696 '중앙값 구하기' 문제입니다. 우선순위 큐를 이용하였는데 heap1, heap2를 만들고 heap1은 최대힙, heap2는 최소힙으로 구현합니다. 그리고 for문을 돌려서 홀수번째 수를 읽습니다. 첫번 째 수는 그냥 heap1에 넣고 두번 째부터는 각각 하나씩 heap1, heap2에 넣습니다. 그리고 heap1의 최댓값과 heap2의 최솟값을 꺼내서 비.. 2022. 3. 18.
파이썬) 백준 알고리즘 | 11724번 : 연결 요소의 개수 https://www.acmicpc.net/problem/11724 11724번: 연결 요소의 개수 첫째 줄에 정점의 개수 N과 간선의 개수 M이 주어진다. (1 ≤ N ≤ 1,000, 0 ≤ M ≤ N×(N-1)/2) 둘째 줄부터 M개의 줄에 간선의 양 끝점 u와 v가 주어진다. (1 ≤ u, v ≤ N, u ≠ v) 같은 간선은 한 번만 주 www.acmicpc.net 백준 11724 '연결 요소의 개수' 문제입니다. visited배열에서 0이면 dfs를 돌게 구현하였고 그 때마다 count를 해주었습니다. n, m = map(int, input().split()) graph = [[]*n for _ in range(n+1)] for _ in range(m): a, b = map(int, input(.. 2022. 3. 18.
파이썬) 백준 알고리즘 | 2792번 : 보석 상자 https://www.acmicpc.net/problem/2792 2792번: 보석 상자 보석 공장에서 보석 상자를 유치원에 기증했다. 각각의 보석은 M가지 서로 다른 색상 중 한 색상이다. 원장 선생님은 모든 보석을 N명의 학생들에게 나누어 주려고 한다. 이때, 보석을 받지 못하 www.acmicpc.net 백준 2792 '보석 상자' 문제입니다. 이분 탐색 문제인데 제가 이분 탐색 응용이 좀 부족해서 dictionary를 이용했습니다. is_possible 함수에서 True로 봔환한 것들을 dict 형태에 집어 넣고 마지막에 정렬한 뒤 최솟값을 출력하도록 하였습니다. 원래는 이 과정을 할 필요가 없지만 제가 이분탐색에서 left, right, mid, ret 설정을 아직 잘 이해 못해서 이런 방법으로.. 2022. 3. 8.
파이썬) 백준 알고리즘 | 15666번 : N과 M (12) https://www.acmicpc.net/problem/15666 15666번: N과 M (12) 한 줄에 하나씩 문제의 조건을 만족하는 수열을 출력한다. 중복되는 수열을 여러 번 출력하면 안되며, 각 수열은 공백으로 구분해서 출력해야 한다. 수열은 사전 순으로 증가하는 순서로 출력해 www.acmicpc.net 백준 15666 "N과 M (12)" 문제입니다. 재귀를 이용해서 풀었고 기본 N과 M 문제에서 추가 조건들을 주면 됩니다. 여기에서는 중복 체크를 해주고 수열이 비내림차순이라는 조건을 추가하면 됩니다. import sys input = sys.stdin.readline n, m = map(int, input().split()) nums = list(map(int, input().split().. 2022. 3. 8.