Algorithm

·Algorithm/Beakjoon
[ 성능 요약 ] 메모리: 30084 KB, 시간: 728 ms [ 분류 ] 자료 구조(data_structures), 우선순위 큐(priority_queue) [ 문제 설명 ] 절댓값 힙은 다음과 같은 연산을 지원하는 자료구조이다. 배열에 정수 x (x ≠ 0)를 넣는다. 배열에서 절댓값이 가장 작은 값을 출력하고, 그 값을 배열에서 제거한다. 절댓값이 가장 작은 값이 여러개일 때는, 가장 작은 수를 출력하고, 그 값을 배열에서 제거한다. 프로그램은 처음에 비어있는 배열에서 시작하게 된다. [ 입력 ] 첫째 줄에 연산의 개수 N(1≤N≤100,000)이 주어진다. 다음 N개의 줄에는 연산에 대한 정보를 나타내는 정수 x가 주어진다. 만약 x가 0이 아니라면 배열에 x라는 값을 넣는(추가하는) 연산이고,..
·Algorithm/Beakjoon
[ 성능 요약 ] 메모리: 22240 KB, 시간: 352 ms [ 분류 ] 정렬(sorting), 구현(implementation) [ 문제 설명 ] N개의 수가 주어졌을 때, 이를 오름차순으로 정렬하는 프로그램을 작성하시오. [ 입력 ] 첫째 줄에 수의 개수 N(1 ≤ N ≤ 1,000)이 주어진다. 둘째 줄부터 N개의 줄에는 수가 주어진다. 이 수는 절댓값이 1,000보다 작거나 같은 정수이다. 수는 중복되지 않는다. [ 출력 ] 첫째 줄부터 N개의 줄에 오름차순으로 정렬한 결과를 한 줄에 하나씩 출력한다. import java.util.Scanner; public class 수정렬하기 { public static void main(String[] args) { Scanner sc = new Sca..
·Algorithm/Beakjoon
[ 성능 요약 ] 메모리: 49004 KB, 시간: 272 ms [ 분류 ] 자료 구조(data_structures), 큐(queue) [ 문제 설명 ] N장의 카드가 있다. 각각의 카드는 차례로 1부터 N까지의 번호가 붙어 있으며, 1번 카드가 제일 위에, N번 카드가 제일 아래인 상태로 순서대로 카드가 놓여 있다. 이제 다음과 같은 동작을 카드가 한 장 남을 때까지 반복하게 된다. 우선, 제일 위에 있는 카드를 바닥에 버린다. 그 다음, 제일 위에 있는 카드를 제일 아래에 있는 카드 밑으로 옮긴다. 예를 들어 N=4인 경우를 생각해 보자. 카드는 제일 위에서부터 1234 의 순서로 놓여있다. 1을 버리면 234가 남는다. 여기서 2를 제일 아래로 옮기면 342가 된다. 3을 버리면 42가 되고, 4를..
·Algorithm/LeetCode
[ 문제링크 ] https://leetcode.com/problems/odd-even-linked-list/ [ 문제 이름 ] 328. Odd Even Linked List [ 문제 ] Given the head of a singly linked list, group all the nodes with odd indices together followed by the nodes with even indices, and return the reordered list. The first node is considered odd, and the second node is even, and so on. Note that the relative order inside both the even and odd grou..
·Algorithm/Beakjoon
[ 성능 요약 ] 메모리: 14840 KB, 시간: 176 ms [ 분류 ] 이분 탐색(binary_search), 자료 구조(data_structures), 해시를 사용한 집합과 맵(hash_set), 정렬(sorting), 두 포인터(two_pointer) [ 문제 설명 ] N개의 수 중에서 어떤 수가 다른 수 두 개의 합으로 나타낼 수 있다면 그 수를 “좋다(GOOD)”고 한다. N개의 수가 주어지면 그 중에서 좋은 수의 개수는 몇 개인지 출력하라. 수의 위치가 다르면 값이 같아도 다른 수이다. [ 입력 ] 첫째 줄에는 수의 개수 N(1 ≤ N ≤ 2,000), 두 번째 줄에는 i번째 수를 나타내는 Ai가 N개 주어진다. (|Ai| ≤ 1,000,000,000, Ai는 정수) [ 출력 ] 좋은 수의..
·Algorithm/Beakjoon
[ 성능 요약 ] 메모리: 120532 KB, 시간: 516 ms [ 분류 ] 수학(math), 누적 합(prefix_sum) [ 문제 설명 ] 수 N개 A1, A2, ..., AN이 주어진다. 이때, 연속된 부분 구간의 합이 M으로 나누어 떨어지는 구간의 개수를 구하는 프로그램을 작성하시오. 즉, Ai + ... + Aj (i ≤ j) 의 합이 M으로 나누어 떨어지는 (i, j) 쌍의 개수를 구해야 한다. [ 입력 ] 첫째 줄에 N과 M이 주어진다. (1 ≤ N ≤ 106, 2 ≤ M ≤ 103) 둘째 줄에 N개의 수 A1, A2, ..., AN이 주어진다. (0 ≤ Ai ≤ 109) [ 출력 ] 첫째 줄에 연속된 부분 구간의 합이 M으로 나누어 떨어지는 구간의 개수를 출력한다. [ 문제링크 ] htt..
행복한 (돌)맹이
'Algorithm' 카테고리의 글 목록 (2 Page)