본문 바로가기

알고리즘4

[스터디] 인프런 CS 전공지식 스터디 2기_자료구조와 알고리즘(1주차) 발자국 ~섹션2 유닛 8+강의 정리와 개인적인 지식, 의견 또한 포함되어 있습니다. 강의의 자세한 내용은 포함하지 않고 있습니다.  [섹션1 - 개요] 자료구조를 사용해야 하는 이유?더 나은 유지보수! (개인적인 의견으로 가장 중요한 개발 목표라고 생각) 알고리즘자료구조에 따라 알고리즘 달라짐.자료구조에 많은 영향! 프로젝트 시작 시 적절한 자료구조 선택, 사용 결정 후 그에 맞는 알고리즘으로 가공.  결국 유지보수를 염두에 둔다면 굉장히 중요한 사항들!  더 좋은 알고리즘이란?정답은 없다. 프로젝트의 목적에 따라 보통 속도/메모리 중 우선순위를 선택하게 됨 일반적으로 알고리즘은 속도를 성능의 척도로 사용 (시간 복잡도)→ 코딩테스트 시간 복잡도는 실제 디바이스의 실행 시간이 아닌 코드를 기준으로 실행시간 예측.. 2024. 10. 6.
[알고리즘] 재귀함수 재귀함수의 대표적인 예 팩토리얼과 피보나치수열로 재귀함수를 연습하였다. using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace reflexive { class Program { static void Main() { int input = 5; int factorial = Factorial(input); Console.WriteLine("{0}! = {1}", input, factorial); int fibpnacci = FibonacciN(input); Console.WriteLine("{0}번째 항 : {1}", input, fibpna.. 2023. 2. 8.
[BOJ C#] 4796 캠핑 처음에 쉬워보여서 구조 자체는 빨리 짰지만 함정이 있던 문제. +오타, \n 조심 using System; using System.Text; using System.IO; namespace _4796 { class Program { static void Main() { StreamReader sr = new StreamReader(Console.OpenStandardInput()); StreamWriter sw = new StreamWriter(Console.OpenStandardOutput()); StringBuilder sb = new StringBuilder(); int caseN = 0; int result = 0; while (true) { if (caseN > 0) { sb.AppendForm.. 2023. 2. 1.
[C# 알고리즘] 무방향 그래프 2차원 배열로 구현하기 1: 서울 2: 대구 3: 대전 4: 부산 가중치 x using System; using System.Linq; namespace Graph { class Node { public string data; public Node(string data) { this.data = data; } } class Graph { private Node[] nodes; int[,] maps; public Graph(int n) { this.nodes = new Node[n]; maps = new int[n+1, n+1]; } public void AddVertex(Node node) { this.nodes.Append(node); } public void AddEdge(int n0, int n1) { maps[n0, n.. 2023. 1. 30.