전체 글

전체 글

    [C#] 코루틴 (COROUTINE) (1)

    [C#] 코루틴 (COROUTINE) (1)

    1. 코루틴(COROUTINE) 이란? 위 그림은 일반적인 메소드의 동작을 그림으로 표현한 것이다. 메소드를 호출하면 해당 메소드의 동작을 처리하고 다시 메소드를 호출한 부분으로 돌아간다. 일반적인 메소드라면 위와 같이 동작하는게 일반적인 원칙이다. 그리고 이렇게 동작하는 Foo를 예전에 Sub-Routine이라고 부른적이 있다. 그렇다면 코루틴은 어떤식으로 동작을 할까? Co-Routine은 위와 같이 동작한다. 메소드를 호출하게 되면 메소드의 내용을 전부 실행하는게 아닌 일부만을 실행하고 다시 메소드를 호출한 부분으로 돌아온다. 또 코드가 실행되던 중 Foo( ); 를 만나게 되면 이번엔 Foo( ) 메소드의 처음 부분이 아닌 이전에 끊겼던 부분부터 이어서 실행을 하게 된다. 한번에 Foo( )의 모..

    재귀함수 설명하는 개발자 만화

    재귀함수 설명하는 개발자 만화

    출처 : https://www.etoland.co.kr/plugin/mobile/board.php?bo_table=etohumor03&wr_id=302607

    [C#] 올바른 괄호

    [C#] 올바른 괄호

    문제 설명 괄호가 바르게 짝지어졌다는 것은 '(' 문자로 열렸으면 반드시 짝지어서 ')' 문자로 닫혀야 한다는 뜻입니다. 예를 들어 ()() 또는 (())() 는 올바른 괄호입니다. )()( 또는 (()( 는 올바르지 않은 괄호입니다. '(' 또는 ')' 로만 이루어진 문자열 s가 주어졌을 때, 문자열 s가 올바른 괄호이면 true를 return 하고, 올바르지 않은 괄호이면 false를 return 하는 solution 함수를 완성해 주세요. 제한사항 문자열 s의 길이 : 100,000 이하의 자연수 문자열 s는 '(' 또는 ')' 로만 이루어져 있습니다. using System; using System.Collections.Generic; class Program { public static bool..

    [C#] Collection Method

    [C#] Collection Method

    1. IndexOf, FindIndex, FindAll using System; using System.Collections.Generic; class Program { public static bool Divide3(int n) { return n % 3 == 0; } static void Main() { List c1 = new List() {1, 2, 3, 1, 2, 3, 1, 2, 3, 10}; // 값 검색 Console.WriteLine(c1.IndexOf(3)); // 2 Console.WriteLine(c1.IndexOf(3, 5)); // 5 Console.WriteLine(c1.IndexOf(3, 6, 2)); // -1 // 조건 검색 : 3의 배수 찾기 Console.WriteLin..

    [C#] 열거자 (Enumerator)

    [C#] 열거자 (Enumerator)

    1. 문제 using System; using System.Collections.Generic; class Program { static void Main() { int[] arr = {1, 2, 3, 4, 5}; List c1 = new List(arr); for(int i=0; i < c1.Count; i++) { Console.WriteLine(c1[i]); } } } //----------------------------------------------------- using System; using System.Collections.Generic; class Program { static void Main() { int[] arr = {1, 2, 3, 4, 5}; LinkedList c1 = n..

    [C#] Collection과 Interface

    [C#] Collection과 Interface

    1. 핵심 정리 using System; using System.Collections.Generic; clss Program { static void Main() { List c1 = new List(); c1.Add(10); c1.Add(20); c1.Clear(); int n = c1[0]; // IList에 있는 메소드(인덱서) SortedSet c2 = new SortedSet(); c2.Add(10); c2.Add(20); c2.Clear(); int n2 = c2[0]; // error } } 위의 코드에서 List는 동적배열이고 SortedSet은 트리구조이다. 분명 내부적으로 데이터를 다루는 코드는 다를텐데 요소를 추가하는 메소드는 Add로 같다. 또한 모든 요소를 지우는 Clear메소드도..