본문 바로가기
728x90
반응형

알고리즘 공부69

[BOJ] 6603번 로또 / 사용언어 : 파이썬(python) ※ 문제링크 6603번: 로또 입력은 여러 개의 테스트 케이스로 이루어져 있다. 각 테스트 케이스는 한 줄로 이루어져 있다. 첫 번째 수는 k (6 < k < 13)이고, 다음 k개 수는 집합 S에 포함되는 수이다. S의 원소는 오름차순으로 www.acmicpc.net 해당 문제는 DFS와 백트래킹을 활용하여 푸는 문제였다. 주어진 숫자에 대해 알고리즘을 활용하여 조합수를 구하고 그 중 만족하는 수만 구하면 되는 문제라 어렵지않게 풀 수 있는 문제였다. 자세한 문제풀이 방법과 코드는 아래와 같다. 1. 입력받은 숫자를 리스트로 만들고, 첫번째 요소가 0이고, 리스트의 길이가 1이면 반복문을 중지하도록 조건을 건다. 2. 첫번째 숫자를 k로 그 뒤의 숫자는 n-list로 분할하여 저장한 후 dfs와 백트래.. 2022. 1. 3.
[BOJ] 2110번 공유기 설치 / 사용언어 : 파이썬(python) ※ 문제링크 2110번: 공유기 설치 첫째 줄에 집의 개수 N (2 ≤ N ≤ 200,000)과 공유기의 개수 C (2 ≤ C ≤ N)이 하나 이상의 빈 칸을 사이에 두고 주어진다. 둘째 줄부터 N개의 줄에는 집의 좌표를 나타내는 xi (0 ≤ xi ≤ 1,000,000,000)가 www.acmicpc.net ※ 관련문제 [BOJ] 1654번 랜선 자르기 / 사용언어 : 파이썬(python) ※ 문제링크 : https://www.acmicpc.net/problem/1654 1654번: 랜선 자르기 첫째 줄에는 오영식이 이미 가지고 있는 랜선의 개수 K, 그리고 필요한 랜선의 개수 N이 입력된다. K는 1이상 10,000이하의 정수이고,. data-is-power.tistory.com 해당문제는 이분탐색과.. 2022. 1. 1.
[BOJ] 2805번 나무 자르기 / 사용언어 : 파이썬(python) ※ 문제링크 2805번: 나무 자르기 첫째 줄에 나무의 수 N과 상근이가 집으로 가져가려고 하는 나무의 길이 M이 주어진다. (1 ≤ N ≤ 1,000,000, 1 ≤ M ≤ 2,000,000,000) 둘째 줄에는 나무의 높이가 주어진다. 나무의 높이의 합은 항상 M보 www.acmicpc.net ※ 관련문제 [BOJ] 1654번 랜선 자르기 / 사용언어 : 파이썬(python) ※ 문제링크 : https://www.acmicpc.net/problem/1654 1654번: 랜선 자르기 첫째 줄에는 오영식이 이미 가지고 있는 랜선의 개수 K, 그리고 필요한 랜선의 개수 N이 입력된다. K는 1이상 10,000이하의 정수이고,. data-is-power.tistory.com 해당문제는 이분탐색과 매개변수탐색.. 2021. 12. 30.
[BOJ] 1654번 랜선 자르기 / 사용언어 : 파이썬(python) ※ 문제링크 1654번: 랜선 자르기 첫째 줄에는 오영식이 이미 가지고 있는 랜선의 개수 K, 그리고 필요한 랜선의 개수 N이 입력된다. K는 1이상 10,000이하의 정수이고, N은 1이상 1,000,000이하의 정수이다. 그리고 항상 K ≦ N 이다. 그 www.acmicpc.net ※ 관련개념 및 참고사이트 [알고리즘] 이분 탐색 / 이진 탐색 (Binary Search) 이진 탐색(이분 탐색) 알고리즘은 정렬되어 있는 리스트에서 탐색 범위를 절반씩 좁혀가며 데이터를 탐색하는 방법이다.이진 탐색은 배열 내부의 데이터가 정렬되어 있어야만 사용할 수 있는 velog.io [알고리즘] 매개변수 탐색(Parametric Search) 이번시간에는 매개변수탐색에 대해서 알아보겠습니다. 매개변수탐색이라는 단어.. 2021. 12. 30.
[BOJ] 1655번 가운데를 말해요 / 사용언어 : 파이썬(python) ※ 문제링크 1655번: 가운데를 말해요 첫째 줄에는 백준이가 외치는 정수의 개수 N이 주어진다. N은 1보다 크거나 같고, 100,000보다 작거나 같은 자연수이다. 그 다음 N줄에 걸쳐서 백준이가 외치는 정수가 차례대로 주어진다. 정수는 -1 www.acmicpc.net 해당문제는 우선순위 큐 자료구조를 활용하여 풀어야하는 문제였다. 파이썬에서는 해당 자료구조를 구현할 수 있는 heapq패키지를지원해주고 있어서 활용하여 문제를 해결하였다. 이번 문제를 풀기 위해서는 최대힙과 최소힙 2가지를 응용해야만 했다. heapq패키지는 기본적으로 최소힙만 지원을 해주고 있었기에 최대힙을 사용하기 위해서는 약간의 변형이 필요했다. 자세한 풀이방법과 코드는 아래와 같다. 1. 최대힙과 최소힙으로 사용할 리스트를 생.. 2021. 12. 28.
[BOJ] 11286번 절댓값 힙 / 사용언어 : 파이썬(python) ※ 문제링크 11286번: 절댓값 힙 첫째 줄에 연산의 개수 N(1≤N≤100,000)이 주어진다. 다음 N개의 줄에는 연산에 대한 정보를 나타내는 정수 x가 주어진다. 만약 x가 0이 아니라면 배열에 x라는 값을 넣는(추가하는) 연산이고, x가 0 www.acmicpc.net 해당문제는 우선순위 큐 자료구조와 heap를 통해 풀어야하는 문제였다. 파이썬에서는 해당 자료구조를 구현할 수 있게 heapq 패키지를 지원하고 있어 해당 패키지를 활용하여 풀었다. 자세한 풀이방법과 코드는 아래와 같다. 1. 입력값을 받고, 입력받은 값에 따라 pop또는 push명령을 수행한다. 2. 절댓값을 입력받아야 함으로 push명령을 수행할 때는 리스트 형태로 값을 저장한다. + 입력값이 많아 print나 input함수를.. 2021. 12. 27.
728x90
반응형