본문 바로가기

전체 글152

[이것이 코딩테스트다] 시간복잡도와 공간복잡도 📚 복잡도 복잡도는 알고리즘의 성능을 나타내는 척도이다. 시간복잡도 : 특정한 크기의 입력에 대하여 알고리즘이 얼마나 오래걸리는지를 의미 공간복잡도 : 특정한 크기의 입력에 대하여 알고리즘이 얼마나 많은 메모리를 차지하는지를 의미 복잡도를 측정함으로써 시간 복잡도에서는 알고리즘을 의해 필요한 연산의 횟수를, 공간 복잡도에서는 메모리의 양을 계산할 수 있다. 일반적으로 복잡도가 낮을수록 좋은 알고리즘이다. ⚡ 시간 복잡도 시간 복잡도를 표현할 때는 빅오Big-O 표기법을 사용한다. 빅오 표기법은 가장 빠르게 증가하는 항만을 고려하는 표기법이다. 다시 말해 함수의 상한만을 나타낸다. [예제 1] 시간 복잡도 O(N) 5개의 데이터를 받아 차례로 5회 더해준다(N = 5). 이 때 연산횟수는 N에 비례하는 것.. 2021. 4. 18.
[이것이 코딩테스트다] 그리디(탐욕법) 📚 그리디 (Greedy) 알고리즘 '탐욕법'이라고도 소개되는 이 알고리즘은 어떠한 문제가 있을 때 단순 무식하게, 탐욕적으로 문제를 푸는 알고리즘이다. 단순하지만 강력한 문제 해결 방법 매 순간 가장 좋아보이는 것을 선택. 현재의 선택이 나중에 미칠 여향에 대해서는 고려하지 않는다. 보통 코딩 테스트에서 출제되는 그리디 알고리즘 문제는 창의력, 문제를 풀기 위한 최소한의 아이디어를 떠올릴 수 있는 능력을 요구 📃 [예제 1] 거스름돈 - 풀이시간 : 15분 - 문제풀이 n = 1260 count = 0 # 큰 단위의 화폐부터 차례대로 확인 list = [500, 100, 50, 10] for coin in list: count += n // coin # 해당 화폐로 거슬러 줄 수 있는 동전의 개수 세기.. 2021. 4. 15.
[프로그래머스] [Level1] 정수 내림차순으로 배치하기 - Java 💁‍♀️ 링크 programmers.co.kr/learn/courses/30/lessons/12933 📃 문제 함수 solution은 정수 n을 매개변수로 입력받습니다. n의 각 자릿수를 큰것부터 작은 순으로 정렬한 새로운 정수를 리턴해주세요. 예를들어 n이 118372면 873211을 리턴하면 됩니다. 🐾 문제풀이 💻 코드 class Solution { public long solution(long n) { char[] nums = String.valueOf(n).toCharArray(); for(int i=0; i 2021. 4. 7.
[C#] 컬렉션 / 일반화 컬렉션 (Collection / Generic Collection) 🧵 컬렉션과 일반화 컬렉션 ➰ 컬렉션이란? ▫ 같은 성격을 띄는 데이터의 모음을 담는 자료 구조를 말한다. ▫ .NET 프레임워크가 제공하는 자료구조로 ICollection 인터페이스를 상속받는다. ➰ 컬렉션 VS 일반화 컬렉션 🔹 컬렉션 ▫ 컬렉션 클래스들은 모두 object형식 기반으로 ArrayList의 Add(), Insert() 메소드의 선언을 보면 object 형식의 매개변수를 받고 있는 것을 확인할 수 있다. ▫ 어떤 형식을 넣더라도 object형식으로 박싱(Boxing)이 되어 입력되고 반대로 ArrayList의 요소에 접근해서 사용할 때는 원래의 데이터 형식으로 언박싱(Unboxing)이 이루어진다. (형식 변환) ▫ 컬렉션의 요소에 접근할 때마다 형식 변환이 일어나기 때문에 데이터가 많.. 2021. 4. 6.
[.NET] 직렬화와 역직렬화 (Serialize, Deserialize) www.csharpstudy.com/Practical/Prac-Serialization.aspx 위의 사이트에 설명되어 있는 글을 보고 공부하면서 📕Notion에 보기 편하게 다시 정리 2021. 4. 6.
[.NET] IExtenderProvider Interface (feat.ToolTip) 📚 ToolTip 컨트롤 ToolTip 컨트롤은 Form에 ToolTip 컨트롤을 추가했을 때, 다른 컨트롤들에 공통적으로 tooltip1의 ToolTip 이라는 프로퍼티가 생긴다. 🔺Form에 ToolTip 컨트롤을 추가했을 때 Button의 속성에 toolTip1의 ToolTip이라는 프로퍼티가 생긴 것을 볼 수 있다. ToolTip 클래스는 Component 클래스와 IExtenderProvider 인터페이스를 상속받고 있는데 여기서 프로퍼티 확장을 하기 위한 인터페이스인 IExtenderProvider 인터페이스를 살펴볼 것이다. 📖 IExtenderProvider Interface - 정의 속성을 컨테이너의 다른 구성 요소로 확장하기 위한 인터페이스를 정의한다. - Method bool CanE.. 2021. 4. 5.
반응형