본문 바로가기

전체 글128

11.24 (TIL-코딩문제) 몫 구하기 나의 풀이 더보기 using System; public class Solution { public int solution(int num1, int num2) { int answer = 0; if(0 2023. 11. 24.
11.23 (TIL) 오늘은 팀과제 발표가 있는 날이다. 위 사진은 팀에서 만들 간단한 텍스트게임 계획안이다. 캐릭터와 몬스터의 정보도 만들어 보고 전투 시스템에 대한 계획도 만들어 보았다. 처음으로 팀과제를 하면서 어렵고 모르겠고 뭐부터 해야할지 몰랐는데. 다행이 이전에 팀과제를 해본 팀원도 있었고. 팀장님의 적극적인 리드와 좋은 팀원 분들덕분에 자신감을 얻고 천천히 차근차근 만들어 나가 봤다. 물론 그렇다고 다 잘만들어진것은 아니고 엉성하고 어지럽게 만들어 졌지만 아주 뿌듯하다. 일단은 만들었고 발표도 했으니 여한은 없다 ㅋㅋ 다음 팀과제에서는 어떨지 모르겠지만. 일단은 소통 또 소통 소통이 제일 핵심인것 같다. 2023. 11. 23.
11.22 (TIL -코딩 문제) 나이 출력 문제 설명 : 머쓱이는 40살인 선생님이 몇 년도에 태어났는지 궁금해졌습니다. 나이 age가 주어질 때, 2022년을 기준 출생 연도를 return 하는 solution 함수를 완성해주세요. 제한사항 : 0 < age ≤ 120 나이는 태어난 연도에 1살이며 1년마다 1씩 증가합니다. 입출력예 나의 풀이 더보기 using System; public class Solution { public int solution(int age) { int Year = 2022; int answer = Year - age + 1; // 출생 연도 계산 return answer ; } } 다른 많은 사람 풀이 더보기 using System; public class Solution { public int solut.. 2023. 11. 22.
11.21 (TIL) 동적 프로그래밍 ( Dynamic Programming ) 1) 동적 프로그래밍 이란? 동적 프로그래밍은 큰 문제를 작은 하위 문제로 분할하여 푸는 접근 방식 작은 하위 문제의 해결 방법을 계산하여 저장하고, 이를 이용하여 큰 문제의 해결 방법을 도출 이러한 저장 과정을 "메모이제이션(Memoization)"이라고 함 동적 프로그래밍은 중복되는 하위 문제들을 효율적으로 해결하기 위해 사용 일반적으로 재귀적인 구조를 가지며, 하향식(Top-down)과 상향식(Bottom-up) 두 가지 방법으로 구현 동적 프로그래밍은 최적 부분 구조와 중복 부분 문제의 특징을 가진 문제들을 효과적으로 해결 간단 예제 더보기 def fibonacci(n): # 계산된 부분 문제의 결과를 저장하기 위한 배열 # 초기값은 -1.. 2023. 11. 21.
11.20 (TIL) 탐색 알고리즘 ( Search Algorithm ) 1) 탐색 알고리즘 이란? 탐색 알고리즘은 주어진 데이터 집합에서 특정 항목을 찾는 방법을 제공 2) 선형 탐색 ( Linear Search ) 선형 탐색은 가장 단순한 탐색 알고리즘 배열의 각 요소를 하나씩 차례대로 검사하여 원하는 항목을 찾는다. 시간 복잡도: 최악의 경우 O(n) 간단 예시 더보기 using System; public class LinearSearchExample { public static void Main() { // 탐색할 배열 int[] arr = { 5, 2, 9, 1, 5, 6 }; // 찾을 값 int target = 9; // 선형 탐색 호출 int index = LinearSearch(arr, target); // .. 2023. 11. 20.
11.17 (TIL) 정렬 알고리즘 1) 정렬 알고리즘 이란? 정렬 알고리즘은 컴퓨터 과학에서 중요한 주제 중 하나 주어진 데이터 세트를 특정 순서(대개는 숫자의 오름차순 또는 내림차순, 문자열의 사전식 순서)로 배열하는 방법을 제공 2) 선택 정렬 ( Selection Sort ) 선택 정렬은 배열에서 최소값(또는 최대값)을 찾아 맨 앞(또는 맨 뒤)와 교환하는 방법 시간 복잡도: 최악의 경우와 평균적인 경우 모두 O(n^2) 공간 복잡도: O(1) (상수 크기의 추가 공간이 필요하지 않음) 간단 예제1 더보기 def selection_sort(arr): """ 선택 정렬 알고리즘을 사용하여 배열을 정렬하는 함수 :param arr: 정렬되어야 할 배열 :return: 정렬된 배열 """ n = len(arr) # 배열의 .. 2023. 11. 17.
11.16 (TIL) 알고리즘 ( Algorithm ) 1) 알고리즘 개념 알고리즘은 문제를 해결하기 위한 명확한 절차나 방법 알고리즘은 입력을 받아 원하는 출력을 생성하기 위한 절차 알고리즘은 입력, 출력, 명확한 단계, 실행 가능성의 특성 알고리즘은 주어진 입력에 대해 정확하고 일관된 결과를 제공 알고리즘은 컴퓨터 프로그래밍뿐만 아니라 다양한 분야에서 사용 2) 알고리즘의 중요성 효율적인 알고리즘은 컴퓨터 프로그래밍에서 매우 중요 같은 문제를 해결하는 두 알고리즘이 있다면, 효율적인 알고리즘은 덜 효율적인 알고리즘보다 더 적은 컴퓨팅 자원(시간, 메모리 등)을 사용 가능한 한 효율적인 알고리즘을 사용하는 것이 중요 Big O 표기법 1) Big O 표기법 Big O 표기법은 알고리즘의 효율성을 나타내는 표기법 Big O .. 2023. 11. 16.
11.15 (TIL) 델리게이트 ( Delegate ) 1) 델리게이트란? 델리게이트(delegate)는 메서드를 참조하는 타입 다른 프로그래밍 언어에서는 함수 포인터라는 용어를 사용하기도 함 델리게이트를 이용하면 메서드를 매개변수로 전달하거나 변수에 할당할 수 있다. 간단 구현 더보기 using System; // 델리게이트 선언 public delegate void SimpleDelegate(string message); class DelegateExample { static void Main() { // 델리게이트 인스턴스 생성 SimpleDelegate simpleDelegate = new SimpleDelegate(DisplayMessage); // 델리게이트를 사용하여 메서드 호출 simpleDelegate("He.. 2023. 11. 15.
11.14 (TIL) Console.ForegroundColor 콘솔 텍스트 색을 변경 간단 예시 더보기 using System; class Program { static void Main() { Console.ForegroundColor = ConsoleColor.Red; Console.WriteLine("This is red text"); // 원래 색상으로 돌아가기 Console.ResetColor(); Console.WriteLine("This is the default color"); // 프로그램 종료 전에 콘솔 창 열려있도록 하기 위해 대기 Console.ReadLine(); } } 위의 코드에서 Console.ForegroundColor 속성을 사용하여 텍스트 색상을 변경하고, Console.ResetColor.. 2023. 11. 14.
11.13 (TIL) 제너릭 1) 제너릭 사용법 제너릭은 클래스나 메서드를 일반화시켜 다양한 자료형에 대응할 수 있는 기능 제너릭을 사용하면 코드의 재사용성을 높일 수 있다. C#에서는 형태의 키워드를 이용하여 제너릭을 선언 제너릭 클래스나 메서드에서 사용할 자료형은 선언 시점이 아닌 사용 시점에 결정 제너릭 클래스나 메서드를 사용할 때는 대신 구체적인 자료형을 넣준다 간단예시 // 제너릭 클래스 선언 예시 class Stack { private T[] elements; private int top; public Stack() { elements = new T[100]; top = 0; } public void Push(T item) { elements[top++] = item; } public T Pop() { return.. 2023. 11. 13.