본문 바로가기
반응형

자기개발15

C# - 델리게이트 함수 ( Delegate ) 델리게이트 ( Delegate )개요델리게이트(Delegate)는 C#에서 함수 포인터와 유사한 개념으로, 메서드에 대한 참조를 보유하는 형식입니다. 이를 통해 메서드를 변수에 할당하고 다른 메서드에 전달할 수 있으며, 이벤트 처리, 비동기 작업 등 다양한 시나리오에서 유용하게 사용됩니다.정의델리게이트는 C#에서 메서드에 대한 참조를 나타내는 형식입니다. 이를 통해 메서드를 변수에 할당하고 다른 메서드에 전달할 수 있습니다. 델리게이트는 메서드의 시그니처를 정의하며, 해당 시그니처와 일치하는 메서드만 참조할 수 있습니다. 델리게이트는 대리자 역할을 수행하며, 이를 통해 이벤트 처리, 비동기 프로그래밍 등 다양한 기능을 구현할 수 있습니다.표현 방식델리게이트는 다음과 같은 형식을 따릅니다.delegate .. 2024. 5. 15.
C# - 람다식 ( Lambda ) 람다식 ( Lambda )개요람다 표현식은 함수형 프로그래밍 스타일을 C#에서 구현하기 위한 강력한 도구입니다. 이를 통해 코드를 간결하고 읽기 쉽게 만들 수 있습니다. 하지만 람다 표현식의 범위와 생명주기(scope and lifetime)에 대한 이해가 필요합니다.정의람다 표현식은 매개변수를 포함한 코드 블록을 정의하여 변수에 저장하거나 메서드의 인수로 전달할 수 있는 간단한 문법입니다. 람다 표현식은 익명 메서드와 유사하지만 더 간결하고 표현력이 높습니다.람다 표현식은 다음과 같은 기본 형식을 따릅니다.(parameters) => expression(int a, int b) => a + b표현 방식 단일 매개변수와 단일 식 x => x * x람다 표현식은 다양한 방식으로 표현할 수 있습니다. 이는 .. 2024. 5. 15.
Kotiln(코틀린) - 반복문(forEach) forEach ? Kotlin에서 반복문을 사용할 때 흔히 쓰이는 고차함수 중 하나입니다. 이 함수는 컬렉션의 각 요소에 대해 주어진 람다 표현식을 실행하는 역할을 합니다. Kotlin에서는 forEach를 사용하여 배열이나 리스트와 같은 Iterable 객체를 반복하는데 주로 활용합니다 배열 또는 리스트에서 사용하며, 직관적이고 코드 가독성이 뛰어납니다. 기본적인 형태 val numbers = listOf(1, 2, 3, 4, 5) numbers.forEach { // 각 요소에 대한 작업을 수행 println(it) } forEach는 numbers 리스트의 각 요소에 대해 중괄호 안에 있는 람다 표현식을 실행합니다. it은 현재 반복되고 있는 요소를 나타내는 람다의 암시적인 인자입니다. 코드에서는 .. 2023. 12. 8.
Kotlin - 두 정수 사이의 합 ( 22 ) 프로그래머스 문제 두 정수 a, b가 주어졌을 때 a와 b 사이에 속한 모든 정수의 합을 리턴하는 함수, solution을 완성하세요. 예를 들어 a = 3, b = 5인 경우, 3 + 4 + 5 = 12이므로 12를 리턴합니다. a b return 3 5 12 3 3 3 5 3 12 코틀린 두 정수 사이의 합 답 1) class Solution { fun solution(a: Int, b: Int): Long { var answer: Long = 0 if (a b) { for (i in b..a) { answer += i } } else { answer = a.toLong() } return answer }.. 2023. 12. 7.
Kotlin - 하샤드 수 프로그래머스 코딩 연습 ( 21 ) 프로그래머스 문제 양의 정수 x가 하샤드 수이려면 x의 자릿수의 합으로 x가 나누어져야 합니다. 예를 들어 18의 자릿수 합은 1+8=9이고, 18은 9로 나누어 떨어지므로 18은 하샤드 수입니다. 자연수 x를 입력받아 x가 하샤드 수인지 아닌지 검사하는 함수, solution을 완성해주세요. x return 10 true 12 true 11 false 13 false 하샤드 수? "하샤드 수 (harshad number) , "니번 수" 라고도 불리우는 수입니다. 하샤드 수 는 (주어진 진법 에서) 그 수의 "각 자릿수 숫자의 합" 으로 그 수가 "나누어지는 양의 정수" 를 말합니다. "자기자신이 각 자리숫자의 합의 몇 배가 되어서 약수와 배수의 관계가 되는 수" 를 일컫는 말입니다. 코틀린 하샤드 수.. 2023. 12. 7.
Kotlin(코틀린) - 람다함수 (Lambda Expression) 람다 표현식 ( Kotlin Lambda Expression ) ? 람다식(Lambda expressions)은 간결하게 표현된 익명 함수입니다. 람다식은 함수형 프로그래밍의 핵심 요소 중 하나로, 코드를 간결하게 작성하고 함수를 일급 객체로 다룰 수 있게 해줍니다. 간단히 람다라고도 불리며, 익명 함수(Anonymouse function)를 의미하기도 합니다. 익명 함수는 함수의 이름이 없는 혹은 생략한 함수를 말하며, 보통 한번 사용되고 재사용되지 않는 함수를 만들때 익명 함수로 만드는데, 변수에 대입하여 이용하거나 콜백 함수에 지정할 수 있다. 그러기에 함수를 따로 생성하지 않고, 코드에 익명 함수를 만들어 코드 가독성을 높일 수 있다. 이는 함수형 프로그래밍에서 자주 사용하는 패턴입니다. 람다식은.. 2023. 12. 3.
Kotlin - 나머지가 1이 되는 수 찾기 프로그래머스 코딩 연습 (15) 프로그래머스 문제 자연수 n이 매개변수로 주어집니다. n을 x로 나눈 나머지가 1이 되도록 하는 가장 작은 자연수 x를 return 하도록 solution 함수를 완성해주세요. 답이 항상 존재함은 증명될 수 있습니다. n result 10 3 12 11 코틀린 나머지가 1이 되는 수 찾기 답 class Solution { fun solution(n: Int): Int { for( i in 2..n-1) for (n%i == 1) return i } return 0 } } 코틀린 풀이 매게변수 n을 입력받아 for문을 사용해 i 는 2부터 n -1 까지의 값을 순회하는 반복문을 만듭니다. 그 후 순회 중인 값 i가 n으로 나누어 떨어지지 않고 나머지가 1이면, 해당 값을 반환하고 함수를 종료합니다. 반복문.. 2023. 12. 3.
Kotlin(코틀린) - 생성자(init, Constructor) 코틀린에서 생성자는 클래스의 인스턴스를 초기화하는데 사용되는 함수입니다. 코틀린에서는 주 생성자와 부 생성자(secondary constructor)로 나뉘며, 주 생성자는 클래스 헤더 부분에 선언되고, 부 생성자는 클래스 본문 부분에 선언됩니다 init 주로 클래스의 초기화 로직을 담당하는 특별한 종류의 함수입니다. 이 함수는 클래스가 생성될 때 호출되며, 주로 프로퍼티 초기화나 다른 초기화 코드를 담는 데 사용됩니다. init 함수는 주 생성자(Primary Constructor)의 일부로 정의되며, 클래스 내에 여러 개의 init 블록을 가질 수 있습니다 코틀린을 별도의 생성자 영역이 없기 때문에 init 영역에서 초기화해주어야 한다. class MyClass(name: String, age: In.. 2023. 12. 1.
Kotlin(코틀린) - 콜렉션(List) 사용법 List 란? 코틀린에서는 여러 가지 형태의 콜렉션(Collection)이 있습니다. 그 중 List에 대해서 알아보겠습니다. List는 배열(Array)와 흡사 하지만 동적 자료 구조 형태이며, 값이 정해져 있지 않아 수정할 수 있습니다. List 콜렉션의 특징 배열 값이 정해져 있지 않아 수정이 가능하고 이는 불연속적인 메모리 공간을 점유하여 메모리 관리에 용이합니다. 가변성, 불가변성을 동시에 가지고 있습니다. 중복 요소를 허용합니다. 정해진 메모리 공간을 사용하는게 아닌, 불연속적인 메모리 사용으로 검색 성능이 낮습니다. 배열과 리스트의 차이점 List(리스트) Array(배열) Iterator 인터페이스 구현 방식 내부적 구현 방식 Index 접근 가능 접근 가능 isEmpty, contains.. 2023. 11. 29.
728x90
반응형