일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- Lv2
- 수학숙제
- 2870번
- 백준 1103번 게임
- 프로그래머스
- 백준 17070번
- dfs
- 백준 1103번
- Lv.3
- 플레이어 이동
- 2870번 수학숙제
- C#
- 백준 c++ 2468번
- 코테
- 코딩테스트
- Beakjoon
- Unity
- 2468 c++
- 백준 17070번 c++
- Algorithm
- 백준 c++ 2870번
- 백준 1103번 c++
- 오브젝트 풀링
- 2870번 c++
- 유니티
- 백준 2870번
- 2870번 수학숙제 c++
- c++
- 백준
- 17070번
- Today
- Total
목록전체 글 (207)
주녘공부일지
최소 비용 신장 트리 MST (Minimum Spanning Tree) 그래프에서 모든 정점을 최소 비용으로 연결하는 것 - n개의 정점을 잇는 간선의 수는 n-1개 ( 사이클을 가져서는 안됨 ) -> 사이클 ex) A -> B / B -> C / C -> A - 간선의 가중치의 합이 최소여야 함 1. 크루스칼 알고리즘 (Kruskal Algorithm) 가장 비용이 적은 간선부터 선택해 나가는 알고리즘 (간선 선택 기반 알고리즘) - 간선을 기준으로 선택하기 때문에 간선이 적은 그래프(희소 그래프)에 유리 - 가중치를 기준으로 정렬된 간선들을 Union-Find 알고리즘을 사용해 연결하는 방식 동작 방식 1. 간선들을 가중치를 기준으로 오름차순 정렬 2. 가중치가 적은 간선부터 차례로 연결되어 있는지 ..
https://school.programmers.co.kr/learn/courses/30/lessons/12929 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 1. 정답코드 및 핵심 아이디어, 유의사항 어느 한 괄호 안에 n개의 괄호쌍이 들어간다면, n개의 괄호쌍으로 만들 수 있는 모든 괄호 문자열이 들어갈 수 있으므로, DP문제라고 유추할 수 있음 -> 점화식 구하는 문제 https://godgjwnsgur7.tistory.com/109 [Algorithm C#] 동적 계획법(DP) / Memoization, Tabulation 1. 동적 계획법(DP..
1. 동적 계획법(DP : Dynamic Programming) 복잡한 하나의 큰 문제를 여러 개의 작은 문제로 나누어 해결하는 문제해결 방법 중 하나 - 작은 문제의 연산 결과를 저장해놓았다가 다시 큰 문제를 해결할 때 저장해둔 연산 결과를 다시 사용하는 문제해결 패러다임 즉, 메모리라는 공간 비용을 사용해 계산에 소요되는 시간 비용을 줄이는 방식 적용 조건 - 최적 부분 구조 : 작은 문제들의 연산 결과로 큰 문제의 답을 알 수 있는 구조 - 중복 부분 문제 : 작은 문제들의 연산은 중복된 연산으로 같은 값이 되는 문제 ex) 피보나치 수열, 등 + Divide and Conquer(분할 정복)과의 차이점 : 중복되는 연산의 유무 ( 작은 문제의 답이 항상 같은가? ) 2. 동적 계획법의 방식 Top..
1. 열거형(enum type)이란? 수치 상수에 이름을 붙일 수 있는 특별한 값 형식으로 int 형식의 바탕 값 존재 - 바탕 값은 생략 가능 // 0부터 순서대로 자동 배정 ( 0, 1, 2 ... ) - 일부 멤버들에게만 명시적으로 값을 배정하는 것도 허용하는데, 이 경우 가장 최근 명시적으로 배정된 값을 차례로 증가한 값이 배정되며 같은 바탕 값이 배정될 수 있음 public enum BorderSide { None, // = 0 Left, // = 1 Right // = 2 Top = 5, Bottom, // = 6 } int 형식 이외에도 명시적으로 바탕 정수 값을 배정 가능 - byte, sbyte, short, ushort, int, uint, long, ulong public enum B..
https://school.programmers.co.kr/learn/courses/30/lessons/152996 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 1. 정답코드 및 핵심 아이디어, 유의사항 - 제한사항에 weights 범위가 넓으므로, 완전탐색으로는 시간 초과 - 같은 몸무게인 경우를 제외하면 2N, 3N, 4N 값을 각 비교한 9가지의 경우의 수가 2개 이상 만족할 수 없음 // (핵심) - 2N, 3N, 4N 값을 각 intArray 배열에 담아 짝인 개수를 구하고, 같은 몸무게인 사람은 따로 처리 + 주석참조 using System;..
1. 인터페이스의 상속 - 인터페이스는 다중 상속이 가능함 + 다중 상속으로 인해 인터페이스의 멤버이름이 충돌할 수 있는데, 이를 해소하는 방법 중 하나는 멤버를 명시적으로 구현하는 것임 ( 후술 - 4번 ) interface I1 { ... } interface I2 { ... } public class A : I1, I2 { ... } // 다중 상속 - 인터페이스가 인터페이스를 상속받는 것도 가능함 ex) IUndoable의 모든 멤버를 상속받는 IRedoable 인터페이스 public interface IUndoable { void Undo(); } public interface IRedoable : IUndoable { void Redo(); } 즉, IRedoable 인터페이스를 상속받는 클래..
1. Object 형식모든 형식의 궁극적인 기반 클래스로 그 어떤 형식도 Object로 업캐스팅 할 수 있음 ( 참조 형식 ) - C#의 모든 클래스 또는 구조체는 Object 클래스를 암시적으로 상속함 ex) object 형식을 다루는 컬렉션 Stackpublic class Stack{ int position; object[] data = new object[10]; public void Push (object obj) { data[position++] = obj; } public object Pop() { return data[--position]; }}static void Main(){ Stack stack = new Stack(); stack.Push("Sample..
1. 스택(Stack) 메모리 지역 변수들과 매개변수들을 담는 메모리 공간 - 메서드를 기준으로 스택프레임으로 묶여 스택에 저장됨 - 스택 자료구조처럼 쌓이는 구조로 후입선출(LIFO) 방식 ex) 실행의 흐름이 메서드에 진입할 때마다 새로운 int가 스택에 할당되며, 메서드에서 벗어날 때마다 해제 static int Factorial (int x) { if (x == 0) return 1; return x * Factorial (x-1); } 2. 힙(Heap) 메모리 할당된 객체(참조 형식의 인스턴스)들이 저장되는 메모리 공간 - 런타임에서 new 키워드 등으로 인해 할당된 메모리가 할당되는 공간 ex) 새 객체가 생성되면 힙에 객체가 할당되고 더 이상 참조되지 않는 객체들은 가비지 컬렉터가 해제 u..
1. 값 형식 - 인스턴스화 시에 모든 인스턴스를 실제로 할당 - 인스턴스 배정 시 인스턴스가 복사 - 거의 모든 내장 형식, 구조체, 열거형 형식 ex) 수치(int, float, etc), 논리(bool), 문자(char), etc // 값 형식 구조체 public struct Point { public int X, Y; } static void Main() { Point p1 = new Point(); p1.X = 7; Point p2 = p1; // 배정에 의해 복사 Console.WriteLine(p1.X); // 7 Console.WriteLine(p2.X); // 7 p1.X = 9; Console.WriteLine(p1.X); // 9 Console.WriteLine(p2.X); // 7 ..
퍼즐 게임 - 인접한 블럭을 하나 교체하여 블럭을 매칭시켜 클리어 조건을 달성하는 방식 -> 영상의 스테이지 클리어 조건은 특수 블럭을 모두 매칭시켜 파괴하는 것 - 매칭 조건 : 직선 3개 이상, 4개 이상의 블럭이 모일 경우- 매칭 시 파괴 이펙트, 등은 이미지 짜집기로 제작 - 특수 블럭 (클리어 조건) 인접한 블록의 아이템이 매칭되었을 때 이벤트가 발생되는 블럭 -> 0회 : 일반 블럭과 같이 멈춰있는 이미지 상태 -> 1회 : 애니메이션이 재생됨 -> 2회 : 매칭 효과 발생 ( 클리어 카운트 감소 ) + 특수 블럭의 매칭 발생 시 블럭들의 이벤트가 끝나고 게임 클리어 여부를 판단블록 매칭 이벤트 실행 순서 // 블록 매칭 이벤트가 발생했을 경우 호출되는 코루틴 private IEn..