반응형
반응형
딕셔너리 (Dictionary) HashMap과 유사한 역할을 하며 키 기반으로 값을 저장하고 검색하는데 사용됩니다. 생성 Dictionary myDictionary = new Dictionary(); 요소 추가 및 업데이트 myDictionary["one"] = 1; myDictionary["two"] = 2; myDictionary["three"] = 3; myDictionary["one"] = 11; // "one" 키에 연결된 값 업데이트 요소 제거 myDictionary.Remove("two"); 값 가져오기 int value = myDictionary["three"]; // value에는 3이 저장됩니다. 요소 루프 foreach (var kvp in myDictionary) { string ..
HashSet고유한 요소 집합을 저장하는 컬렉션입니다. 즉, 중복 값을 허용하지 않습니다. 생성HashSet numbers = new HashSet(); 요소 추가numbers.Add(1);numbers.Add(2);numbers.Add(3);numbers.Add(1); // 1은 추가되지 않음. (중복됨) 요소 제거numbers.Remove(2); 개수 확인int count = numbers.Count; 루프 사용foreach (int number in numbers){} 해쉬 삭제numbers.Clear(); 합집합, 교집합, 차집합HashSet otherSet = new HashSet { 2, 3, 4 };numbers.UnionWith(otherSet); // 다른 집합의 요소를 숫자에 추가합니다..
스택 (Stack) 스택은 데이터를 저장하고 접근하는 데 사용되는 추상 데이터 구조입니다. 데이터를 넣는 작업을 "푸시(Push)"라고 하며, 데이터를 꺼내는 작업을 "팝(Pop)"이라고 합니다. 후입선출(LIFO - Last-In-First-Out) 방식으로 동작합니다. 마지막에 추가한 데이터가 가장 먼저 꺼내집니다. 예시: 웹 브라우저의 "뒤로 가기" 버튼, 함수 호출 스택 등에서 사용됩니다. 코드 작성 using System; using System.Collections.Generic; class Program { static void Main() { Stack stack = new Stack(); // 스택에 데이터 푸시 stack.Push(1); stack.Push(2); stack.Push(3..
DFS 알고리즘 DFS는 그래프나 트리의 탐색 방법 중 하나로, 가능한 한 깊이 들어가서 노드를 탐색합니다. 시작 노드에서 다음 노드로 진행하고, 더 이상 진행할 수 없을 때 백트래킹(backtracking)하여 다른 경로를 탐색합니다. 스택(Stack) 자료구조 또는 재귀 함수를 사용하여 구현합니다. DFS는 미로 찾기, 그래프 순회, 연결 요소 찾기 등 다양한 문제에 사용됩니다. 코드 예시 using System; using System.Collections.Generic; class Graph { private int V; // 그래프의 노드(정점) 수 private List[] adjacencyList; // 그래프의 인접 리스트 public Graph(int v) { V = v; adjacenc..
BFS 알고리즘 BFS는 그래프나 트리의 탐색 방법 중 하나로, 루트(또는 시작) 노드에서 시작하여 레벨 단위로 탐색합니다. 먼저 루트 노드와 연결된 모든 노드를 탐색한 후, 해당 노드들과 연결된 다음 레벨의 노드를 탐색합니다. 큐(Queue) 자료구조를 사용하여 구현하며, 선입선출(FIFO) 방식으로 노드를 탐색합니다. BFS는 최단 경로 문제, 최소 스패닝 트리, 네트워크 최적화 등 다양한 문제에 사용됩니다. 코드 작성 using System; using System.Collections.Generic; class Graph { private int V; // 그래프의 노드(정점) 수 private List[] adjacencyList; // 그래프의 인접 리스트 public Graph(int v) ..
코드 작성 using System; class GreedyAlgorithm { public static void Main() { int[] 동전 = { 500, 100, 50, 10 }; // 동전의 가치 int 거스름돈 = 1230; // 거슬러줘야 할 금액 Console.WriteLine("거스름돈: " + 거스름돈 + "원"); Console.WriteLine("동전 개수:"); for (int i = 0; i < 동전.Length; i++) { int 동전개수 = 거스름돈 / 동전[i]; 거스름돈 %= 동전[i]; Console.WriteLine(동전[i] + "원: " + 동전개수 + "개"); } } }
버블 정렬 인접한 두 원소를 비교하여 정렬하는 알고리즘 만약 더 작은 원소가 오른쪽에 있다면, 두 원소를 교환합니다. 이런 식으로 배열의 끝까지 진행하면 가장 큰 원소가 가장 오른쪽으로 이동하게 됩니다. 코드 작성 public static void BubbleSort(int[] arr) { int n = arr.Length; for (int i = 0; i arr[j + 1]) { // 인접한 요소를 교환 int temp = arr[j]; arr[j] = arr[j + 1]; arr[j + 1] = temp; } } } } 선택 정렬 주어진 배열에서 가장 작은 원소를 선택하여 정렬하는 ..
1. 변수 (Variables) 변수를 선언할 때는 데이터 형식을 지정하고 이름을 부여합니다. int score = 100; string playerName = "John"; float speed = 5.0f; // f 접미사는 부동 소수점 수를 나타냅니다. 2. 조건문 (Conditional Statements) 게임에서 조건에 따라 특정 동작을 수행할 때 사용됩니다. if (score > 90) { Debug.Log("Excellent!"); } else { Debug.Log("Try again."); } 3. 반복문 (Loops) 게임 루프 내에서 일련의 작업을 반복적으로 수행할 때 사용됩니다. for (int i = 0; i < 5; i++) { Debug.Log("Iteration: " + i)..
코드 작성 using UnityEngine; using UnityEngine.UI; public class AttendanceManager : MonoBehaviour { public Text[] dayTexts; // 출석 상태를 표시할 Text 개체 배열 public Button attendanceButton; // 현재 날짜의 출석을 기록할 버튼 private int currentDay; // 현재 날짜 (첫 번째 날은 0) private bool[] attendanceRecord = new bool[7]; // 7일 동안의 출석 기록 private void Start() { LoadAttendanceData(); UpdateUI(); } // PlayerPrefs에서 출석 데이터를 불러옵니다. p..
코드 작성 using UnityEngine; using UnityEngine.UI; using System.Collections; public class FillAmountChange : MonoBehaviour { public Image image; public float duration = 30.0f; private void Start() { StartCoroutine(ChangeFillAmountOverTime()); } private IEnumerator ChangeFillAmountOverTime() { float currentTime = 0.0f; float startFillAmount = 1.0f; float endFillAmount = 0.0f; while (currentTime < dur..
코드 작성 using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; public class SaveByte : MonoBehaviour { public static void SaveByteArrayToPlayerPref(byte[] data) { string dataString = System.Convert.ToBase64String(data); PlayerPrefs.SetString("Key", dataString); PlayerPrefs.Save(); Debug.Log("Key Data Save"); } public static byte[] LoadByteArrayToPlayer..
오류 내용 java.io.IOException: Can't read [C:\Users\shahp\.gradle\caches\transforms-2\files-2.1\328b84521e30516b8226e4c8a181416f\jetified-googlemobileads-unity-runtime.jar(;;;;;;;**.class)] (Can't process class [com/google/unity/ads/AdNetworkExtras.class] (Unsupported version number [55.0] (maximum 54.0, Java 10))) 해결 방법 현재 사용중인 Google Moblie Ads 패키지 재설치