알고리즘

· CS/Algorithm
탐색 (Search) : 많은 양의 데이터 중에서 원하는 데이터를 찾는 과정 그래프 탐색 : 하나의 노드를 시작으로 다수의 노드를 방문하는 것 ✓ 노드 (Node) = 정점(Vertex) : 특정 지점 ✓ 간선 (Edge) : 노드와 노드를 연결하는 선 그래프 표현 방법 1. 인접 행렬 (Adjacency Matrix) : 2차원 배열에 각 노드가 연결된 형태를 기록하는 방식 연결되지 않은 노드끼리는 '무한의 비용'이라고 작성한다. 모든 관계를 저장하기 때문에 노드 개수가 많을수록 메모리 측면에서 비효율적이다. 원하는 정보를 얻기 위해서 행렬의 해당 위치만 찾으면 되기 때문에 속도가 빠르다. ## 인접 행렬 방식 예제 INF = 999999999 # 연결되지 않은 노드에 대한 무한의 비용 ..
문제 숫자 카드는 정수 하나가 적혀져 있는 카드이다. 상근이는 숫자 카드 N개를 가지고 있다. 정수 M개가 주어졌을 때, 이 수가 적혀있는 숫자 카드를 상근이가 몇 개 가지고 있는지 구하는 프로그램을 작성하시오. 입력 첫째 줄에 상근이가 가지고 있는 숫자 카드의 개수 N(1 ≤ N ≤ 500,000)이 주어진다. 둘째 줄에는 숫자 카드에 적혀있는 정수가 주어진다. 숫자 카드에 적혀있는 수는 -10,000,000보다 크거나 같고, 10,000,000보다 작거나 같다. 셋째 줄에는 M(1 ≤ M ≤ 500,000)이 주어진다. 넷째 줄에는 상근이가 몇 개 가지고 있는 숫자 카드인지 구해야 할 M개의 정수가 주어지며, 이 수는 공백으로 구분되어져 있다. 이 수도 -10,000,000보다 크거나 같고, 10,0..
문제 요세푸스 문제는 다음과 같다. 1번부터 N번까지 N명의 사람이 원을 이루면서 앉아있고, 양의 정수 K(≤ N)가 주어진다. 이제 순서대로 K번째 사람을 제거한다. 한 사람이 제거되면 남은 사람들로 이루어진 원을 따라 이 과정을 계속해 나간다. 이 과정은 N명의 사람이 모두 제거될 때까지 계속된다. 원에서 사람들이 제거되는 순서를 (N, K)-요세푸스 순열이라고 한다. 예를 들어 (7, 3)-요세푸스 순열은 이다. N과 K가 주어지면 (N, K)-요세푸스 순열을 구하는 프로그램을 작성하시오. 입력 첫째 줄에 N과 K가 빈 칸을 사이에 두고 순서대로 주어진다. (1 ≤ K ≤ N ≤ 5,000) 출력 예제와 같이 요세푸스 순열을 출력한다. 예시 입력 7 3 출력 나의 풀이 알고리즘 설계 n, k 입력받..
🔗 문제 링크 - 백준 10828. 스택 문제 단계 정답 여부 시간 제한 메모리 제한 🥈실버4 오답 0.5초 256MB 문제 정수를 저장하는 스택을 구현한 다음, 입력으로 주어지는 명령을 처리하는 프로그램을 작성하시오. 명령은 총 다섯 가지이다. push X: 정수 X를 스택에 넣는 연산이다. pop: 스택에서 가장 위에 있는 정수를 빼고, 그 수를 출력한다. 만약 스택에 들어있는 정수가 없는 경우에는 -1을 출력한다. size: 스택에 들어있는 정수의 개수를 출력한다. empty 스택이 비어있으면 1, 아니면 0을 출력한다. top: 스택의 가장 위에 있는 정수를 출력한다. 만약 스택에 들어있는 정수가 없는 경우에는 -1을 출력한다. 입력 첫째 줄에 주어지는 명령의 수 N (1 ≤ N ≤ 10,000)..
상급닌자연습생
'알고리즘' 태그의 글 목록