반응형 코딩테스트 준비211 C# - 배열, 동적 배열, 연결 리스트 비교 선형 구조 자료를 순차적으로 나열한 형태 ex) 배열, 연결 리스트, 스택 / 큐 비선형 구조 하나의 자료 뒤에 다수의 자료가 올 수 있는 형태 ex ) 트리, 그래프 배열(Array) 고정된 크기의 메모리 블록에 원소들을 순차적으로 저장, 이 원소들은 정해진 크기를 절대 변경할 수 없다 연속된 메모리 공간에 저장되기 때문에 인덱스를 통해 O(1)시간에 RandomAccess가 가능하다. 장점 : 메모리 접근이 빠르고 예측 가능하다. 단점 : 크기 변경이 어렵고 중간에 삽입/삭제가 비효율적이다. 동적 배열(Dynamic Array) 배열의 크기를 동적으로 변경할 수 있다. 처음에는 작은 크기로 시작하여 필요에 따라 크기를 늘려가면서 데이터를 저장한다. 그렇기 때문에 일반적으로 더 큰 메모리 블록을 할당하.. 2023. 8. 28. 백준 C# - 2501 using System; using System.Collections.Generic; namespace baek2 { class Program { static void Main(string[] args) { string n_string = Console.ReadLine(); string[] token = n_string.Split(); int n = int.Parse(token[0]); int k = int.Parse(token[1]); int a = n; List pig = new List(); while (a > 0) { if (n % a == 0) { pig.Add(a); } a--; } pig.Sort(); if (pig.Count < k) Console.WriteLine(0); else Cons.. 2023. 7. 18. 백준 C# - 5086 using System; using System.Collections.Generic; namespace baek2 { class Program { static void Main(string[] args) { while(true) { string[] token = Console.ReadLine().Split(); int first = int.Parse(token[0]); int second = int.Parse(token[1]); if (first == 0 & second == 0) return; if ((first % second) == 0) Console.WriteLine("multiple"); else if((second % first) == 0) Console.WriteLine("factor"); .. 2023. 7. 15. C# - 그래프(자료 구조) 이론 (그래프 종류들, 다양하게 코드로 구현해보기) 그래프 정점과 간선을 조합으로 이루어져있다. 그래프의 종류는 무방향 그래프(간선에 방향이 없는 경우), 방향 그래프(간선에 방향이 있는 경우), 가중치 그래프(간선에 가중치 정보가 추가된 경우)등이 있다. 01 무방향 그래프 간선에 방향이 없는 경우 02 가중치 그래프(Weighted Graph) 간선에 가중치 정보가 추가된 경우 간선에 대한 가중치를 이용해서 최단 거리를 구할 수 있다. 03 방향 그래프 간선에 방향이 있는 경우 그래프를 어떻게 구현할까? 인스턴스 생성으로 구현 단점 : Vertex인스턴스 생성 부담이 크다. 01 정점클래스 만들기 List에는 해당 정점과 연결된 간선들을 저장한다. class Vertex { public List edges = new List(); } 02 정점들을 저.. 2023. 7. 13. C# - 큐(Queue) Queue FIFO(First-In-First-Ou)t - 먼저 들어간애가 제일 먼저 나온다. Queue queue = new Queue(); 관련 메서드 01 Enqueue 큐에 요소 추가 queue.Enqueue(1); 02 Dequeue 큐의 제일 앞 요소 제거 queue.Dequeue(); 03 Count 큐의 저장된 요소의 수 반환 int count = queue.Count; 04 Contains 큐에 특정 요소가 있는지 여부 확인 bool contains = queue.Contains(1); 05 ToArray 큐의 모든 요소를 배열로 반환 string[] elements = queue.ToArray(); 코드 예시 01 Enqueue를 5번한 결과 Queue queue = new Queue(.. 2023. 7. 13. C# - 스택(Stack) Stack LIFO(Last-In-First-Out) - 마지막에 들어간애가 제일 먼저 나온다. Stack stack = new Stack(); 관련 메서드 01 Push 스택에 요소 추가 stack.Push(1); 02 Pop 스택의 맨 위 요소 제거 stack.Pop(); 03 Peek 맨 위의 요소 반환 int data = stack.Peek(); 04 Count 스택 요소 갯수 반환 int count = stack.Count; 05 Clear 스택의 모든 요소 제거 stack.Clear(); 06 ToArray 스택의 요소들 배열로 변환 int[] elements = stack.ToArray(); 코드 예시 01 push를 5번 한 결과 Stack stack = new Stack(); stack... 2023. 7. 13. 이전 1 ··· 18 19 20 21 22 23 24 ··· 36 다음 반응형