분류 전체보기
-
레드 블랙 트리 구현 및 테스트프로그래밍 기초/알고리즘 2021. 9. 19. 17:03
레드 블랙 트리 이진 검색 트리를 기반으로 노드에 색상을 추가하여 색상 규칙을 기준으로 트리의 균형을 유지한다. ※ 레드 블랙 트리는 노드의 수가 n일 때 최대 깊이가 Ο(logn)이 되게 된다. 레드 블랙 트리의 삽입 알고리즘 레드 블랙 트리의 삽입에서는 먼저 삽입하는 노드의 색상을 레드로 간주하고 삽입을 진행하며 삽입한 노드를 x, 부모 노드를 p, 형제 노드를 s라고 할 때 발생 가능한 모든 경우는 다음과 같다. p가 블랙인 경우 삽입 연산을 종료한다. s가 레드인 경우 p와 s를 블랙으로 바꾸고 p²을 레드로 바꾼다. 만약 p²가 루트면 p²를 블랙으로 바꾸고 종료한다. 연산 결과 p²이 레드이면 p²을 문제 발생 노드로 두고 재귀적으로 처리한다. s가 블랙인 경우 삽입된 위치에 따른 추가 연산을..
-
유니티 화면 비율 고정 처리...3일지 2021. 9. 18. 18:20
코루틴 사용 및 변경 처리 중 중복 변경 블록 이전에 문제가 됐던 것을 확인하여 코루틴을 사용하도록 변경하고 화면 변경 중에는 다시 코루틴이 발동하지 않도록 처리했다. ResolutionController.cs using System; using System.Collections; using UnityEngine; public class ResolutionController : MonoBehaviour { public float AspectX { get; set; } = 16; public float AspectY { get; set; } = 9; private float m_aspectRatio; private int m_screenSizeX; private int m_screenSizeY; priva..
-
JUNGOL...140일지 2021. 9. 18. 15:57
Intermediate_Coder/백트래킹-DFS/N Queen 문제 체스에서 queen의 가로, 세로, 대각선 방향으로 어느 곳이나 한 번에 움직일 수 있다. 즉 다음과 같은 체스판에서 queen이 X라고 표시된 위치에 있을 때, 그 다음 queen이 움직여 갈수 있는 부분은 어둡게 칠해진 부분 중의 하나이다. N X N 크기의 정방형 체스판이 주어졌다. 우리는 거기에 N개의 queen을 배치하려고 하는데, 모든 queen들은 서로 잡아먹을 수 없어야 한다. 그렇다면 queen들을 어떻게 배치해야만 할까? 가능한 모든 경우의 개수를 출력한다. 입력 형식 queen의 수 N(1≤N≤13)을 입력 받는다. 출력 형식 N X N의 체스판에서 N개의 queen들이 서로 잡아먹지 않는 위치로 놓을 수 있는 방법..
-
유니티 화면 비율 고정 처리...2일지 2021. 9. 17. 21:17
특정 비율 고정 처리 구현 유니티의 Update 에서 화면 비율이 바뀐 것을 확인하여 변경 처리하도록 구현한다. ResolutionController.cs using System; using UnityEngine; public class ResolutionController : MonoBehaviour { public float AspectX { get; set; } = 16; public float AspectY { get; set; } = 9; private float m_aspectRatio; private int m_screenSizeX; private int m_screenSizeY; void Start() { m_aspectRatio = AspectX / AspectY; m_screenSize..
-
JUNGOL...139일지 2021. 9. 17. 12:26
Intermediate_Coder/백트래킹-DFS/N Queen 문제 체스에서 queen의 가로, 세로, 대각선 방향으로 어느 곳이나 한 번에 움직일 수 있다. 즉 다음과 같은 체스판에서 queen이 X라고 표시된 위치에 있을 때, 그 다음 queen이 움직여 갈수 있는 부분은 어둡게 칠해진 부분 중의 하나이다. N X N 크기의 정방형 체스판이 주어졌다. 우리는 거기에 N개의 queen을 배치하려고 하는데, 모든 queen들은 서로 잡아먹을 수 없어야 한다. 그렇다면 queen들을 어떻게 배치해야만 할까? 가능한 모든 경우의 개수를 출력한다. 입력 형식 queen의 수 N(1≤N≤13)을 입력 받는다. 출력 형식 N X N의 체스판에서 N개의 queen들이 서로 잡아먹지 않는 위치로 놓을 수 있는 방법..
-
유니티 화면 비율 고정 처리...1일지 2021. 9. 16. 18:50
특정 화면 비율 고정 처리 원하는 화면 비율이 16:9 라고 할 때 화면의 가로나 세로를 기준으로 화면 비율을 고정하는 방법은 다음과 같다. aspectX = 16 aspectY = 9 aspectRatio = aspectX / aspectY Case 너비를 기준으로 높이를 맞추는 경우 → newHeight = newWidth / aspectRatio Case 높이를 기준으로 너비를 맞추는 경우 → newWidth = newHeight * aspectRatio
-
JUNGOL...138일지 2021. 9. 16. 01:51
N Queen > 문제은행 | JUNGOL : 정보올림피아드&알고리즘 JUNGOL www.jungol.co.kr 이상의 문제에서 새롭게 파악해야 할 용어가 존재하는데 크게 세 가지를 확인할 필요가 있어 보인다. 백트래킹 모든 경우의 수를 전부 파악하기 위한 알고리즘으로 상태 공간을 나타낼 수 있을 때 적합한 방식 상태 공간 특정 시스템에서 가능한 모든 구성의 집합 DFS 깊이 우선 탐색(Depth First Search)의 약자로 트리를 탐색할 때 가장 깊은 노드를 탐색한 뒤 다시 돌아가 루트에서 다음 노드의 탐색을 진행하는 탐색 방식 N Queen 문제 n 개의 퀸과 n * n 크기의 판이 주어질 때 모든 퀸이 서로를 공격하지 못하는 상태의 수를 구하는 문제 ※ 이 문제를 해결하기 위해 상태 공간 트리..
-
JUNGOL/Intermediate_Coder/자료구조/1124 : 색종이(고)코딩 테스트/JUNGOL 2021. 9. 15. 02:12
Intermediate_Coder/자료구조/색종이(고) 문제 가로, 세로의 크기가 각각 100인 정사각형 모양의 흰색 도화지가 있다. 이 도화지 위에 가로, 세로의 크기가 각각 10인 정사각형 모양의 검은색 색종이를 색종이의 변과 도화지의 변이 평행하도록 붙인다. 이러한 방식으로 색종이를 한 장 또는 여러 장 붙인 후 도화지에서 검은색 직사각형을 잘라내려고 한다. 직사각형 또한 그 변이 도화지의 변과 평행하도록 잘라내어야 한다. 예를 들어 흰색 도화지 위에 세 장의 검은색 색종이를 과 같은 모양으로 붙였다. 에 표시된 대로 검은색 직사각형을 잘라내면 그 넓이는 22×5=110이 된다. 반면 에 표시된 대로 검은색 직사각형을 잘라내면 그 넓이는 8×15=120이 된다. 검은색 색종이의 수와 각 색종이를 붙..