이번에 새로 출시된 젠레스 존 제로라는 게임의 메뉴창 내 UI를 작업해보았다.UI에 대해 공부하겠다는 취지에 시작해보았다. 게임과 최대한 비슷하게 만들어보려하나이펙트나 배경 애니메이션 부분은 좀 더 공부해서 수정하도록 하겠다.[실제 게임 메뉴화면] [내 작업물] 실제 게임의 메뉴화면에서는 배경화면이 카메라가 대각선 위로 천천히 움직이고, 해당 움직임이 루프되는 애니메이션이 나온다.직접 만든 작업물의 UI도 최대한 게임과 비슷하게 만드려고 노력해보았다.많이 미숙하지만 열심히 만들어보겠다. 생각보다 쉽지는 않다ㅋㅋㅋ
최신 글
예전에 못풀었던 문제들도 다시 풀이해보았다.문제를 보고 바로 풀이가 떠오르는 문제들을 우선적으로 풀었고, 못풀었던 문제들을 마저 풀었다.최근에 젠레스 존 제로라는 게임이 출시되어 그 게임의 UI를내일부터 유니티로 만들어보겠다.이상!
C# 프로그래머스 코딩 문제 풀이
C# 자료구조 이해하기
참고 사이트: https://geukggom.tistory.com/8 [C# 기초] #19.Graph - Graph의 정의, 종류, 구현 방법 1. Graph란? 정점(vertex(V))과 그 정점을 연결하는 간선(edge(E)을 하나로 모아 놓은 자료구조. 연결되어 있는 객체 간의 관계를 표현할 수 있는 자료구조입니다. G = (V, E) (ex) 지도, 지하철 노선도, 전기 geukggom.tistory.com 정점(vertex)과 그 정점을 연결하는 간선(edge)을 하나로 모아 놓은 자료구조이다. 그래프도 트리와 같이 라이브러리에서 제공되지 않기 때문에 직접 구조를 구현해야 한다. 1. 무방향 그래프 : 두 정점을 연결하는 간선에 방향이 없는 그래프. 두 정점 간 양 방향으로 이동 가능. 2. 방..
트리란? 트리는 비선형 자료구조이다. 비선형 자료구조란 배열, 리스트와 같이 인덱스(0,1,2,...)가 순서대로 나열된 선형 자료구조의 반대라고 생각하면 된다. 계층모델이다. 노드(node)들의 집합으로 구성되어 있다. 노드란 데이터를 일컫는다. 각 노드는 하나의 부모 노드(루트 노드)와 여러 개의 자식 노드를 가질 수 있다. 트리는 하나의 루트 노드에서 간선을 통해 다양한 노드를 방문, 탐색할 수 있는 구조를 가진다. 이진 트리(Binary Tree) 컴퓨터에서 사용되는 데이터 구조의 하나로, 루트가 있는 트리 구조에서 어떤 노드의 자식의 수가 최대 2개를 넘지 않는 트리를 말한다. 이진 트리의 순회: 이진 트리의 모든 노드를 특정한 순서대로 한 번씩 방문하는 것이다. 1. 전위순회(Pre-order..
1. 해시셋이란? 해시셋은 딕셔너리와 해시테이블과 달리 키 따로 없고 밸류를 저장하는 컬렉션입니다. 해시테이블과 달리 데이터 타입을 명확히 써줘야 합니다. 또한 중복된 밸류를 허용하지 않으며, 리스트와 달리 순서가 따로 없습니다. 그래서 인덱스를 사용하여 접근할 수 없습니다. using.System.Collections.Generic; 으로 사용할 수 있습니다. 해시를 기반으로 값을 관리하기 때문에 값의 추가, 탐색, 제거 기능이 리스트보다 뛰어납니다. 2. 해시셋을 사용해보자! 1. Add(T item) - 추가 해시셋에 추가할 데이터를 Add를 통해 추가할 수 있습니다. 추가하려는 데이터 값이 이미 해당 해시셋에 존재하는 값일 경우 중복처리되어 추가되지 않습니다. public void TestHash..
C# 알고리즘 기초 익히기
DFS? BFS? DFS와 BFS는 그래프를 탐색하는 방법의 일종이다. 그래프란 정점들과 그 정점들을 연결하는 간선들로 이루어진 자료구조이다. DFS는 깊이우선탐색으로, 그래프를 최대한 깊이 탐색한 후 옆으로 이동하여 똑같이 탐색하는 방법이다. BFS는 너비우선탐색으로, 그래프를 옆에서 옆으로 탐색한 후 점점 밑으로 내려가며 탐색하는 방법이다. DFS 예시 https://school.programmers.co.kr/learn/courses/30/lessons/43165?language=csharp 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 위 문제는 ..
그리디 알고리즘이란? 그리디 알고리즘이란 우리말로 탐욕법, 탐욕 알고리즘, 욕심쟁이 알고리즘 등 여러가지 말로 불립니다. 이는 눈 앞에 있는 것이 더 좋아보이면 그것을 추구하는 알고리즘입니다. 대표적인 예시를 들어보겠습니다. : 상품에 대한 가격이 매개변수로 주어집니다. 그리고 서로 다른 금액의 동전이 들어있는 1차원 배열이 주어집니다. 상품을 주어진 배열의 동전으로 계산하려고 할 때 지불해야하는 동전의 개수의 최솟값을 리턴해야 합니다. void Start() { int[] coins = { 10, 500, 50, 100 }; Debug.Log(Greedy_Price(1990, coins)); } public int Greedy_Price(int price, int[] coins) { int answer..
동적 프로그래밍이란? 큰 문제를 작은 단위로 쪼개서 반복 분할하여 푸는 접근 방식입니다. 네 맞습니다. DFS와 같은 개념입니다. 기본적으로 DFS문제는 재귀함수를 사용해서 풀어가는 방식이 일반적입니다. 그럼 동적프로그래밍은 DFS와 같은 것인가?? 결론부터 말씀드리면, 답은 No입니다. 동적 프로그래밍은 작은 하위 문제의 해결 방법을 계산하여 저장하고, 이를 이용하여 큰 문제의 해결 방법을 도출합니다. DFS와 동적프로그래밍의 차이점!! 여기 숫자가 들어있는 정삼각형 구조가 있습니다. 꼭대기에서 바닥까지 이어지는 경로 중, 거쳐간 숫자의 합이 가장 큰 경우를 리턴하는 문제입니다. 문제를 처음 접하게되면 기본적으로 DFS로 문제를 풀어야겠다는 생각이 들 것입니다. DFS로 접근하게 되면, 7+3+8+2+..