분류 전체보기
-
JUNGOL...70일지 2021. 5. 6. 20:55
Beginner_Coder/여러가지/카드게임 문제 근우는 오늘 재미있는 카드 게임을 배우고 있다. 카드는 빨간색, 파란색, 노란색, 녹색의 네 가지 색이 있고, 색깔별로 1부터 9까지 숫자가 쓰여진 카드가 9장씩 있다. 카드는 모두 36(=4x9)장이다. 근우가 배운 카드 게임은 36장의 카드에서 5장을 뽑고, 아래와 같은 규칙으로 점수를 계산하는 것이다. 각 카드는 다음과 같이 나타낸다. 카드의 색깔은 영어 대문자 R, B, Y, G로 나타내는데, R은 빨간색, B는 파란색, Y는 노란색, G는 녹색을 뜻한다. 예를 들어서 Y8은 노란색 8을 나타내고, B5는 파란색 5를 나타낸다. ① 카드 5장이 모두 같은 색이면서 숫자가 연속적일 때, 점수는 가장 높은 숫자에 900을 더한다. 예를 들어, 카드가 ..
-
알고리즘...1일지 2021. 5. 6. 20:50
알고리즘이란 어떤 작업을 수행하기 위해 입력을 받아 원하는 출력을 만들어내는 과정을 기술한 것으로 알고리즘을 설계하기 위해서는 해야 할 작업을 명확하게 명시해야 한다. ※ 알고리즘이 명확하다는 것은 모호하지 않고 이해하기 쉬운 것을 의미하며 자세한 것과는 다르다. 알고리즘은 가능하면 효율적이어야 하며 그중 작은 입력보다는 충분히 큰 입력에 대해 관심을 가져야 한다. 이렇게 큰 입력에 대한 분석을 점근적 분석(Asymptotic Analysis)라고 한다. 알고리즘을 분석하는 이유 어떠한 입력을 일정 시간 이내에 처리해야 할 때 적용할 수 있는 알고리즘의 시간 분석을 하면 각 알고리즘이 어느 정도의 시간이 소요되는지 파악하여 적절한 알고리즘을 적용할 수 있다. ※ 일반적인 상황에서 알고리즘 분석 시 소요시..
-
JUNGOL...69일지 2021. 5. 4. 08:22
Beginner_Coder/여러가지/색종이(중) 문제 가로, 세로의 크기가 각각 100인 정사각형 모양의 흰색 도화지가 있다. 이 도화지 위에 가로, 세로의 크기가 각각 10인 정사각형 모양의 검은색 색종이를 색종이의 변과 도화지의 변이 평행하도록 붙인다. 이러한 방식으로 색종이를 한 장 또는 여러 장 붙인 후 색종이가 붙은 검은 영역의 둘레의 길이를 구하는 프로그램을 작성하시오. 입력 형식 첫째 줄에 색종이의 수가 주어진다. 이어 둘째 줄부터 한 줄에 하나씩 색종이를 붙인 위치가 주어진다. 색종이를 붙인 위치는 두 개의 자연수로 주어지는데 첫 번째 자연수는 색종이의 왼쪽 변과 도화지의 왼쪽 변 사이의 거리이고, 두 번째 자연수는 색종이의 아래쪽 변과 도화지의 아래쪽 변 사이의 거리이다. 색종이의 수는 ..
-
유니티...10일지 2021. 5. 3. 21:21
에디터 창 기본 EditorWindow를 상속받는 클래스를 통해 커스텀 윈도우를 생성할 수 있으며 다음의 과정을 통해 화면에 출력할 수 있다. EditorWindow를 상속받는 클래스 스크립트 생성 창을 여는 스크립트 함수 구현 창에 표시할 GUI 구현 이에 대한 간단한 예는 다음과 같다. using UnityEditor; using UnityEngine; public class MyWindow : EditorWindow { string myString = "Hello World"; bool groupEnabled; bool myBool = true; float myFloat = 1.23f; // Add menu item named "My Window" to the Window menu [MenuItem..
-
JUNGOL...68일지 2021. 5. 3. 10:14
Beginner_Coder/여러가지/색종이(초) 문제 가로, 세로의 크기가 각각 100인 정사각형 모양의 흰색 도화지가 있다. 이 도화지 위에 가로, 세로의 크기가 각각 10인 정사각형 모양의 검은색 색종이를 색종이의 변과 도화지의 변이 평행하도록 붙인다. 이러한 방식으로 색종이를 한 장 또는 여러 장 붙인 후 색종이가 붙은 검은 영역의 넓이를 구하는 프로그램을 작성하시오. 입력 형식 첫째 줄에 색종이의 수가 주어진다. 이어 둘째 줄부터 한 줄에 하나씩 색종이를 붙인 위치가 주어진다. 색종이를 붙인 위치는 두 개의 자연수로 주어지는데 첫 번째 자연수는 색종이의 왼쪽 변과 도화지의 왼쪽 변 사이의 거리이고, 두 번째 자연수는 색종이의 아래쪽 변과 도화지의 아래쪽 변 사이의 거리이다. 색종이의 수는 100 ..
-
인접 리스트를 통한 그래프 구현프로그래밍 기초/자료구조 2021. 5. 3. 09:37
인접 리스트 통한 그래프 구현 그래프 구현/인접 리스트 인접 리스트는 각각의 노드를 하나의 포인터로 하여 특정 노드에서 이동 가능한 노드를 표현하는 방법으로 다음과 같이 표현된다. 구현이 필요한 메서드 및 속성은 다음과 같다. 생성자 ArrayListGraph() 비어있는는 인스턴스 생성 속성 NodeCount 현재 노드의 개수 메서드 InsertNode() 노드 추가 InsertEdge(int, int) 앞의 노드에서 뒷 노드로 이동하는 에지 추가 RemoveNode(int) 지정된 인덱스의 노드 제거 RemoveEdge(int, int) 앞의 노드에서 뒷 노드로 이동하는 제거 Clear() 저장되어 있는 모든 데이터 삭제 GetDegreeIn(int) 노드의 진입 차수 반환 GetDegreeOut(i..
-
자료구조...84일지 2021. 4. 30. 08:23
ArrayListGraph 기능 메서드) 그래프에서 사용하는 기능 메서드를 구현한다. ArrayListGraph.cpp /// /// 지정된 인덱스의 노드에 진입하는 차수를 반환한다. /// /// 노드의 번호 size_t ArrayListGraph::GetDegreeIn(int num) { if (!ContainsNode(num)) { return -1; } int count{ 0 }; GraphHeader* curHead{ m_graphHeaders }; while (curHead != nullptr) { GraphNode* curNode{ curHead->m_data }; while (curNode != nullptr) { if (curNode->m_idx == num) { count++; } cu..