[백준] 11286번 절댓값 힙 해설 및 풀이 (Python)
·
Study/코딩 테스트
백준 11286번 절댓값 힙https://www.acmicpc.net/problem/11286  문제절댓값 힙은 다음과 같은 연산을 지원하는 자료구조이다.배열에 정수 x (x ≠ 0)를 넣는다.배열에서 절댓값이 가장 작은 값을 출력하고, 그 값을 배열에서 제거한다. 절댓값이 가장 작은 값이 여러개일 때는, 가장 작은 수를 출력하고, 그 값을 배열에서 제거한다.프로그램은 처음에 비어있는 배열에서 시작하게 된다.입력첫째 줄에 연산의 개수 N(1≤N≤100,000)이 주어진다. 다음 N개의 줄에는 연산에 대한 정보를 나타내는 정수 x가 주어진다. 만약 x가 0이 아니라면 배열에 x라는 값을 넣는(추가하는) 연산이고, x가 0이라면 배열에서 절댓값이 가장 작은 값을 출력하고 그 값을 배열에서 제거하는 경우이다...
[99클럽 코딩 스터디 5일차 TIL] LeetCode 225. Implement Stack using Queues 해설 및 풀이 (Java)
·
Study/코딩 테스트
99클럽 코딩 스터디 5일차 TILLeetCode 225. Implement Stack using Queues https://leetcode.com/problems/implement-stack-using-queues/description/Implement a last-in-first out (LIFO) stack using only two queues. The implemented stack should support all the functions of a normal stack (push, top, pop, and empty). Implement the MyStack class: void push(int x) Pushes element x to the top of the stack. int pop()..
[백준] 2751번 수 정렬하기 2 해설 및 풀이 (Python)
·
Study/코딩 테스트
백준 수 정렬하기 2https://www.acmicpc.net/problem/2751 문제N개의 수가 주어졌을 때, 이를 오름차순으로 정렬하는 프로그램을 작성하시오.입력첫째 줄에 수의 개수 N(1 ≤ N ≤ 1,000,000)이 주어진다. 둘째 줄부터 N개의 줄에는 수가 주어진다. 이 수는 절댓값이 1,000,000보다 작거나 같은 정수이다. 수는 중복되지 않는다.출력첫째 줄부터 N개의 줄에 오름차순으로 정렬한 결과를 한 줄에 하나씩 출력한다. 문제 유형정렬 풀이 방법 도출수의 개수 N을 입력을 받습니다.for문을 N만큼 반복한 뒤, arr 리스트에 입력 받고 삽입합니다.arr를 오름차순으로 정렬합니다.for문을 arr만큼 반복하여 출력합니다.  시간 복잡도정렬 : O(N log N)코드 작성 impor..
[백준] 2839번 설탕 배달 해설 및 풀이 (Python)
·
Study/코딩 테스트
백준 2839번 설탕 배달https://www.acmicpc.net/problem/2839 문제 유형수학 다이나믹 프로그래밍 그리디 알고리즘 풀이 방법 도출우선 그리디하게 5kg 봉지를 최대한 많이 사용하고, 나머지를 3kg 봉지로 채우는 방법이 최적입니다.5kg 봉지를 많이 쓰지만 남은 무게가 3으로 나누어떨어지는지 확인합니다.나누어서 떨어지면 해당 조합이 최소 봉지 수일 수 있으므로 출력합니다.아니라면 5kg 봉지 하나를 줄이고 다시 시도합니다.끝까지 되지 않으면 -1 출력합니다. 시간 복잡도반복문 : O(N)  핵심 코드 삽입 및 설명n = int(input())# 5kg 봉지를 최대한 많이 사용하는 방향으로 반복count = -1 # 초기값을 정확히 나눌 수 없는 경우 -1로 설정for five..
[백준] 11053번 가장 긴 증가하는 부분 수열 (Python)
·
Study/코딩 테스트
백준 11053번 가장 긴 증가하는 부분 수열https://www.acmicpc.net/problem/11053 문제수열 A가 주어졌을 때, 가장 긴 증가하는 부분 수열을 구하는 프로그램을 작성하시오.예를 들어, 수열 A = {10, 20, 10, 30, 20, 50} 인 경우에 가장 긴 증가하는 부분 수열은 A = {10, 20, 10, 30, 20, 50} 이고, 길이는 4이다.입력첫째 줄에 수열 A의 크기 N (1 ≤ N ≤ 1,000)이 주어진다.둘째 줄에는 수열 A를 이루고 있는 Ai가 주어진다. (1 ≤ Ai ≤ 1,000)출력첫째 줄에 수열 A의 가장 긴 증가하는 부분 수열의 길이를 출력한다. 문제 유형 다이나믹 프로그래밍 풀이 방법 도출주어진 수열에서 가장 긴 증가하는 부분 수열(LIS, ..