전체 글199 백준 15652 #include using namespace std; int N, M; bool state[8][9]; // N의 상태는 1부터 시작 인덱스 1부터 들어감 int arr[8]; void func(int k) { if (k == M) { for (int i = 0; i N >> M; func(0); return 0; } 2024. 3. 8. Coroutine(코루틴) 코루틴의 개념 로직을 실행하기 위해 최초로 main() 으로 진입하고 main 함수 안에서 차례대로 함수가 실행되고 함수가 종료되면 main 함수로 되돌아가서 다음 함수를 실행하는 방식으로 이루어진다. 여기서 main 함수를 메인 루틴이라 부르고 메인 루틴 안에서 실행되는 모든 함수를 서브 루틴이라고 부른다. 서브 루틴이 메인 루틴에 종속된 상태로 호출을 받는 입장이라고 한다면, 코루틴(Co-Routine)은 "Co" 라는 접두사 의미가 "공동의", "협력 관계" 이라는 것으로 메인 루틴과 대등한 관계에 있다. 위키피디아에서 코루틴의 정의는 다음과 같다. 실행의 지연과 재개를 허용함으로써, 비선점적 멀티태스킹을 위한 서브 루틴을 일반화한 컴퓨터 프로그램 구성요소 비선점 : 하나의 프로세스가 CPU를 할당.. 2024. 3. 7. 백준 15651 문제분석 중복을 허용하고자 행은 똑같은 수를 M개 담는 것이고 열은 어떤 수를 담을지 그 수를 몇번째 인덱스에 담고 있는지 체크한다. 코드 #include using namespace std; int N, M; bool state[7][7]; int arr[7]; void func(int k) { if (k == M) { for (int i = 0; i M; func(0); return 0; } 2024. 3. 7. 오브젝트 풀링(Object Pooling) 오브젝트 풀링 개념 LOL에서 게임이 끝나기 전까지 몇 초마다 미니언이 계속해서 나온다. 미니언이라는 오브젝트를 계속해서 생성하게 되면 메모리의 사용량과 CPU의 연산이 점차 커지게 된다. (미니언을 매번 인스턴스화해서 메모리에 올리고 해당 미니언의 위치를 씬에 배치하는 작업이 계속 수행된다 하면 메모리 사용량과 CPU 연산이 점차 커질 수밖에 없음) 그리고 미니언이 죽게되면 메모리에서 해제가 되는 방식으로 구현되었다. 이런 식으로 객체를 생성하고 객체의 사용이 끝나면 메모리에서 아예 날려버리는 방식으로 구현되니까 실시간으로 돌아가는 대규모 게임 같은 경우 성능이 크게 저하될 수 있다. 이러한 문제를 해결하기 위한 최적화 기법을 오브젝트 풀링(Object Pooling)이라고 한다. 즉, Pool을 만들.. 2024. 3. 6. 백준 15650 C++ 코드#include #include using namespace std;int N, M;// N이 1부터 시작하니까 상태배열의 크기를 +1 증가해서 인덱스 1부터 상태체크(해당 숫자 사용 여부)bool state[9];int arr[8];void func(int k) { if (k == M) { sort(arr, arr + M); for (int i = 0; i > N >> M; func(0); return 0;} int st = 1;if (k != 0) st = arr[k - 1] + 1;모든 수열은 중복되지 않으면서 오름차순 정렬을 하도록 해야함 JAVA 코드import java.util.Scanner;public class Main2 { static int n,m; static.. 2024. 3. 6. C# 추상 클래스 추상 클래스란? 클래스처럼 구현부를 갖되 인스턴스를 만들지 못함 추상 메소드를 가질 수 있는데 추상 클래스를 상속하는 클래스들이 반드시 해당 추상 메소드를 구현하도록 강제하는 부분에서 인터페이스의 "약속"에 대한 역할도 담당한다. public abstract class BaseScene : MonoBehaviour { public abstract void Clear(); } public class LoginScene : BaseScene { public override void Clear() { Debug.Log("Login Scene Clear!"); } } public class GameScene : BaseScene { public override void Clear() { Debug.Log("Ga.. 2024. 3. 5. 이전 1 ··· 3 4 5 6 7 8 9 ··· 34 다음