git remote (올릴 위치 선택) 경로 지정 - 상위 폴더로 경로 지정해야함 git remote -v git remote origin 주소 연결된 주소 지우고 싶으면 git remote remove origin 폴더 올리기 git add 폴더명/ git commit -m "add" git push git push origin main 안되면 강제로 올려버리기 git push -u origin main --force 폴더 잘못 올렸을 때 git rm --cached -r 폴더명/ git commit -m "delete folder" 기본적으로 올릴때 git status git add * git commit -m "" git push origin main git status 만약 하위 폴더에서 변경된 ..
그래프 vertex(정점)(node, 노드), edge(간선)으로 구성됨 트리도 그래프의 일종 두 노드가 연결되어 있음 == 두 노드는 인접함 구현 방법 인접 행렬 (Adjacency Matrix) 2차원 배열로 그래프의 연결 관계 표현함 연결된 정점은 1로, 아니면 0 (또는 무한 비용 INF) 넣기 - 무조건 2차원 배열을 만들어야 해서 불필요한 공간 필요함 인접 리스트 (Adjacency List) 연결 리스트로 그래프의 연결 관계 표현함 정점의 리스트 배열을 만들어 연결된 정점들을 배열에 넣어서 표현 연결된 정보만을 저장해서 메모리를 효율적으로 사용함 연결된 데이터 하나씩 확인해야 해서 두 노드 연결되어 있는지에 대한 정보 얻는 속도가 느림 vector G[5]; //1~5까지의 정점 가진 그래프..
그리디 알고리즘 (탐욕법) 현재 상황에서 가장 좋은 것만 고르는 방법 기준에 따라 좋은 것을 선택함 -> 기준대로 정렬 알고리즘을 이용해 해결 가능 그리디 알고리즘으로 문제에 접근했을 때 정답을 얻을 수 있다고 보장되었을 경우 효과적임 -> 최소한의 아이디어가 정당한지 검토해야 정답 도출 가능함 반복되는 수열을 파악해야 함 풀 때 생각할 점 문제의 규칙(수열) 찾기 어떻게 정렬할지 생각하기 아이디어가 맞는지 검토하기 백준 문제 11047번 #define _CRT_SECURE_NO_WARNINGS #include #include #include #include using namespace std; int coin[11]; int main() { int N, K; int i, t; int sum = 0; s..
#define _CRT_SECURE_NO_WARNINGS #include #include #include #include #include #include using namespace std; int INT_MAX_NUM = 1000000007; int k[501]; //페이지 값 int dp[501][501]; //0~n까지 최소 값 int sum[501]; //0~n까지 페이지 더한 값 int main() { int T; int K; int i,j; scanf("%d", &T); while(T--){ scanf("%d", &K); sum[0] = 0; for (i = 1; i
c++의 STL에 있는 스택 컨테이너를 이용해서 풀었다. #define _CRT_SECURE_NO_WARNINGS #include #include #include using namespace std; int main() { int N; int i, num=0, sum=0; stack s; scanf("%d", &N); for (i = 0; i < N; i++) { scanf("%d", &num); if (num == 0) { s.pop(); } else { s.push(num); } } while (!s.empty()) { sum += s.top(); s.pop(); } printf("%d", sum); return 0; } https://www.acmicpc.net/problem/10773
스택을 구현하는 문제였다. 오랜만에 구현 문제를 풀면 가끔 헷갈리는 건데 stack 구조체를 인자로 넘겨줄 때 main에서 큰 stack s를 주소로 넘겨주고 포인터로 받아야 한다. 아니면 함수의 반환형을 stack으로 해서 넘겨줘야 함 (이건 좀 번거로운듯..?) #define _CRT_SECURE_NO_WARNINGS #include #include #include #include typedef struct Node { Node *next; //다음 노드 주소 저장할 포인터 int data; } node; typedef struct Stack { node* top; int count=0; }stack; void push(int x, stack* s); int pop(stack* s); int empt..
사용자 입력 사용자 입력은 Input.Get~로 받을 수 있다. Get~ : 키를 누를 때 Get~Down: 키를 누르고 있을 때 Get~Up: 키를 눌렀다가 뗐을 때 1. 키보드 입력 Input.GetKey/KeyDown/KeyUp(KeyCode.키이름) 2. 마우스 입력 Input.GetMouseButton/GetMouseButtonDown/GetMouseButtonUp(매개변수) 매개변수가 0 : 마우스 왼쪽 버튼, 1 : 마우스 오른쪽 버튼 3. 버튼 입력 오브젝트 이동 먼저 자신의 컴포넌트를 GetComponent()를 이용해서 가져와야 한다. Rigidbody rigid; rigid = GetComponent(); 1. 힘으로 밀어서 움직이기 Vector의 방향으로 ForceMode에서 선택된..