728x90 반응형 알고리즘115 [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. [BOJ] 1927번 최소 힙 / 사용언어 : 파이썬(python) ※ 문제링크 1927번: 최소 힙 첫째 줄에 연산의 개수 N(1 ≤ N ≤ 100,000)이 주어진다. 다음 N개의 줄에는 연산에 대한 정보를 나타내는 정수 x가 주어진다. 만약 x가 자연수라면 배열에 x라는 값을 넣는(추가하는) 연산이고, x가 0 www.acmicpc.net ※ 관련개념 및 참고사이트 [Python]우선순위 큐, heapq 큐나 스택과 비슷한 자료형이지만, 각 원소들은 우선순위를 가지고 있다. 우선순위 큐에서, 높은 우선순위를 가진 원소는 낮은 우선순위를 가진 원소보다 먼저 처리된다. 같은 우선순위를 가진 velog.io 해당문제는 우선순위 큐라는 자료구조의 개념을 알아야 풀 수 있는 문제였다. 파이썬에서는 해당 자료 구조를 구현하기 위해 heapq 패키지를 지원하고 있다. 자료구조의.. 2021. 12. 27. [BOJ] 11279번 최대 힙 / 사용언어 : 파이썬(python) ※ 문제링크 11279번: 최대 힙 첫째 줄에 연산의 개수 N(1 ≤ N ≤ 100,000)이 주어진다. 다음 N개의 줄에는 연산에 대한 정보를 나타내는 정수 x가 주어진다. 만약 x가 자연수라면 배열에 x라는 값을 넣는(추가하는) 연산이고, x가 www.acmicpc.net ※ 관련개념 및 참고사이트 [Python]우선순위 큐, heapq 큐나 스택과 비슷한 자료형이지만, 각 원소들은 우선순위를 가지고 있다. 우선순위 큐에서, 높은 우선순위를 가진 원소는 낮은 우선순위를 가진 원소보다 먼저 처리된다. 같은 우선순위를 가진 velog.io 해당문제는 우선순위 큐라는 자료구조의 개념을 알아야 풀 수 있는 문제였다. 우선순위 큐라는 개념부터 확실히 하기위해서 구글링을통해 우선순위 큐에 대한 조사를 하였고, .. 2021. 12. 27. [BOJ] 12865번 평범한 배낭 / 사용언어 : 파이썬(python) ※ 문제링크 12865번: 평범한 배낭 첫 줄에 물품의 수 N(1 ≤ N ≤ 100)과 준서가 버틸 수 있는 무게 K(1 ≤ K ≤ 100,000)가 주어진다. 두 번째 줄부터 N개의 줄에 거쳐 각 물건의 무게 W(1 ≤ W ≤ 100,000)와 해당 물건의 가치 V(0 ≤ V ≤ 1,000) www.acmicpc.net ※ 관련개념 및 참고사이트 Dynamic Programming: 배낭 채우기 문제 (Knapsack Problem) 도둑이 보석가게에 배낭을 메고 침입했다. 배낭의 최대 용량은 W이며, 이를 초과해서 보석을 담으면 배낭이 찢어질 것이다. 각 보석들의 무게와 가격은 알고 있다. 배낭이 찢어지지 않는 선에서 gsmesie692.tistory.com 해당 문제는 Knapsack 알고리즘과 D.. 2021. 12. 26. [BOJ] 5430번 AC / 사용언어 : 파이썬(python) ※ 문제링크 5430번: AC 각 테스트 케이스에 대해서, 입력으로 주어진 정수 배열에 함수를 수행한 결과를 출력한다. 만약, 에러가 발생한 경우에는 error를 출력한다. www.acmicpc.net ※ 관련개념 [자료구조] 덱(Deque) 자료구조 덱 velog.io 해당 문제는 자료구조의 하나인 덱과 문자열 파싱을 활용하여 해결해야하는 문제였다. 덱을 간단하게 설명하면 앞과 뒤에 요소를 삽입하고 제거할 수 있는 형태의 자료구조이다. 단순하게 R명령(순서를 반대로 뒤집는 명령)을 수행할 함수를 만들어 popleft만으로 작성해도 코드는 정상적으로 작동하나 시간초과가 나왔다. 그래서 R명령의 상태를 기록할 변수를 만들고 마지막 출력 전까지는pop과 popleft를 번갈아 사용하고 R명령의 상태에 따라 .. 2021. 12. 26. [BOJ] 1966번 프린터 큐 / 사용언어 : 파이썬(python) ※ 문제링크 1966번: 프린터 큐 여러분도 알다시피 여러분의 프린터 기기는 여러분이 인쇄하고자 하는 문서를 인쇄 명령을 받은 ‘순서대로’, 즉 먼저 요청된 것을 먼저 인쇄한다. 여러 개의 문서가 쌓인다면 Queue 자료구조에 www.acmicpc.net ※ 관련개념 큐 (자료 구조) - 위키백과, 우리 모두의 백과사전 ko.wikipedia.org 해당문제는 큐를 활용해서 풀어야하는 문제였다. 큐에 대해서 간단하게 설명하면, 선입선출(First In First Out)방식으로 변수들을 삽입하고 추출하는 방식의 자료구조이다. 파이썬에서는 collections의 deque라는 양방향 큐를 사용할 수 있는 함수가 있어 해당 함수를 사용하여 결과를 도출하였다. 해당 라이브러리가 없어도 리스트로 구현을 할 수는.. 2021. 12. 25. [BOJ] 1541번 잃어버린 괄호 / 사용언어 : 파이썬(python) ※ 문제링크 1541번: 잃어버린 괄호 첫째 줄에 식이 주어진다. 식은 ‘0’~‘9’, ‘+’, 그리고 ‘-’만으로 이루어져 있고, 가장 처음과 마지막 문자는 숫자이다. 그리고 연속해서 두 개 이상의 연산자가 나타나지 않고, 5자리보다 www.acmicpc.net 해당 문제는 그리디 알고리즘의 개념을 활용하면 풀 수 있는 문제였다. 최솟값을 만들기 위해서는 '-'뒤에 '+'가 존재하면, '+'연산을 우선적으로 처리하여 빼야할 값을 최대화 시켜주면 조건 달성이 가능했다. 풀이방법과 코드는 아래와 같다. 1. 입력값을 받은 후 replace함수를 활용하여 '-'부호를 '-('로 변환한 후 '-'로 분할하여 새로운 리스트를 만든다. 2. 새로운 리스트에 변수들 중 '('를 가지고 있는 요소들을 더한 값(mi).. 2021. 12. 24. 이전 1 ··· 6 7 8 9 10 11 12 13 다음 728x90 반응형