본문 바로가기

Categories28

[.NET] WPF Template, Presenter + Binding 이번 포스팅에서는 WPF에서 UI를 다룰 때 필수적인 개념이라고 할 수 있는 Template과 Presenter 대해 알아보겠습니다. 1. Template, 템플릿이란?Template, 템플릿이란 무엇일까요? 제가 처음 Template을 접했을 때는 간단하게 Control을 꾸미기 위한 틀 정도로만 생각하고 넘어갔던 것 같습니다. 좀 더 자세히 알아볼까요?Template이란 부모 자식 관계를 갖는 엘리먼트들을 생성시킬 수 있는 정의. 즉 루트 엘리먼트, 루트 엘리먼트의 자식 엘리먼트, ··· 등 각각의 엘리먼트의 속성에 무엇이 있는지 선언하는 것입니다. 이렇게 정의된 Template은 LoadContent 메서드를 통해 정의에 따라 각각의 엘리먼트들의 인스턴스들이 실제적으로 생성된다.여기서 주의할 점은 .. 2021. 8. 5.
[Problem Solving] 음료수 얼려 먹기 이번에는 DFS와 BFS의 개념을 활용해 풀어야 하는 문제인 "음료수 얼려 먹기" 알고리즘 문제를 풀어보겠습니다. 문제 : N x M 크기의 얼음 틀이 있다. 구멍이 뚫려 있는 부분은 0, 칸막이가 존재하는 부분은 1로 표시된다. 구멍이 뚫려 있는 부분끼리 상, 하, 좌, 우로 붙어 있는 경우 서로 연결되어 있는 것으로 간주한다. 이때 얼음 틀의 모양이 주어졌을 때 생성되는 총아이스크림의 개수를 구하는 프로그램을 작성하시오. 첫 번째 줄에 얼음 틀의 세로 길이 N과 가로길이 M이 주어진다. (1 2021. 2. 4.
[Algorithm] BFS 이번에도 마찬가지로 탐색 알고리즘 중 하나인 BFS에 대하여 공부해 보았습니다. BFS란 Breadth First Search의 줄임말로 '너비 우선 탐색' 즉, 가까운 노드부터 탐색하는 알고리즘입니다. DFS에서는 최대한 멀리 있는 깊은 노드를 우선적으로 탐색하였다면 BFS는 반대로 가까운 노드부터 탐색합니다. BFS를 구현할 때에는 Stack, 재귀 함수를 이용하는 것이 아니라 선입선출 방식인 큐 자료구조를 이용합니다. DFS에 다루었던 동일한 그래프로 BFS를 만들어 보겠습니다. DFS에서 썼던 그래프와 동일하므로 각 노드가 연결된 정보가 같습니다. 여기서 중요한 것은 DFS에서는 후입 선출 LIFO(Last In First Out) 였다면, BFS에서는 FIFO(First In First Out).. 2021. 2. 3.
[Algorithm] DFS 이번에는 탐색 알고리즘 DFS에 대하여 공부해 보았습니다. DFS와 BFS를 공부하기 전에 스택과 큐, 재귀 함수에 대한 간단한 개념 정도는 알고 있는 것이 좋다. 그렇다면 DFS란 무엇일까? DFS란 Depth-First Search의 줄임말로 깊이 우선 탐색 즉, 그래프에서 깊은 부분을 우선적으로 탐색하는 알고리즘이다. 그래프 탐색은 하나의 노드를 시작으로 다수의 노드를 방문하는 것이다. 그래프 표현방식에는 크게 2가지로 인접 행렬(Adjacency Matrix)와 인접 리스트(Adjacency List)가 있다. 인접 행렬(Adjacency Matrix) 인접 리스트(Adjacency List) 2차원 배열로 그래프의 연결 관계를 표현하는 방식 리스트로 그래프의 연결 관계를 표현하는 방식 위의 그래.. 2021. 2. 3.