728x90

분류 전체보기 334

[C++] 정적/동적 할당된 배열의 크기 구하기

정적할당으로 만들어진 변수는 DATA영역에 저장되는데, 동적할당으로 만들어진 변수는 HEAP영역에 저장된다. DATA 영역에 할당된 변수의 메모리 크기는 sizeof 연산자로 크기를 불러 올 수 있지만, HEAP 영역에 할당된 변수의 메모리 크기는 sizeof 연산자로 불러올 수 없다. _msize 연산자로 불러와야 한다. _msize Learn more about: _msize docs.microsoft.com * 정적할당으로 만든 배열의 크기 구하기 int arr[5]; int arr_size = sizeof(arr) / sizeof(int); * 동적할당으로 만든 배열의 크기 구하기 #include #include // _msize() 사용을 위해 malloc.h 헤더 추가! using namesp..

[C++][BAEKJOON][시뮬레이션] 17144번 미세먼지 안녕!

문제 17144번: 미세먼지 안녕! 미세먼지를 제거하기 위해 구사과는 공기청정기를 설치하려고 한다. 공기청정기의 성능을 테스트하기 위해 구사과는 집을 크기가 R×C인 격자판으로 나타냈고, 1×1 크기의 칸으로 나눴다. 구사 www.acmicpc.net 풀이 미세먼지가 퍼지고 나서 기존 맵의 값을 갱신해두면 다음 미세먼지의 확산에 영향을 미치므로 int cal_map[1001][1001] = { {0,0}, }; 이라는 새 변수를 만들어서 그 변수에 값을 계속 더한 후, 마지막에 더하는 식으로 구현했다. 공기청정기의 순환부분은 공기청정기 위아래를 0으로 표시해두고 위쪽은 반시계방향, 아래쪽은 시계방향으로 한 칸씩 돌렸다. for 문 8개로 ;;;;; 마지막에 미세먼지의 양을 계산하는 것이므로 map에서 -..

[Unity] Timeline, Playable Director, Binding, Clear Bindings

* Timeline : 복합 애니메이션을 제작할 때 쓰는 Tool (Playable Director에 의존) Object에 Playabel Director Component를 추가하고 만든 Timeline은 playable 속성으로 들간다. * PlaybleDirector : Timeline Asset의 트랙과 게임 오브젝트를 연결해주기 위해 사용 * Bindings Timeline 에셋 트랙에 연결된 Audio, Animation 등의 정보들 [Binding 정리] 객체에 해당 스크립트 달아서 쓰이지 않는 binidng들 정리하기 #if UNITY_EDITOR [Sirenix.OdinInspector.Button] void ClearBinding() { var directors = Object.Find..

[git] commit이 git에 반영되지 않을 때 대처법

1. git url에 origin으로 연결되어 있는지 확인하자 git remote -v 'origin https://github.com/계정/레퍼지토리' 라는 결과가 나와야 한다. 2. 아니라면 remote에 계정 연결이 잘 안되어 있는 것이므로 연결해주면 된다. git remote add origin https://github.com/계정/리포지토리 3. 그리고 다시 push해보면 OK. [git 공식 reference 참조] Git - 리모트 저장소 원격 저장소라 하더라도 로컬 시스템에 위치할 수도 있다. remote'' 저장소라고 이름이 붙어있어도 이 원격 저장소가 사실 같은 로컬 시스템에 존재할 수도 있다. 여기서 remote'' 라는 이름은 반드 git-scm.com

[Unity] 커스텀 메뉴 만들기

Unity 는 상단 메뉴를 커스터마이징 할 수 있는 기능을 갖고 있습니다. Scene 바로가기 버튼, Jenkins 빌드 버튼 등의 자주 쓰는 기능을 만들면 더욱 편리하게 이용할 수 있겠죠? 메뉴는 Script를 통해 만들 수 있습니다. 하나의 객체로 처리하는 것이지요. using UnityEngine; using UnityEditor; using UnityEditor.SceneManagement; public class ShortcutScneneMenu{ [MenuItem("Scene Shortcut/Intro")] private static void MoveIntroScene(){ EditorSceneManager.OpenScene("Assets/Dashboard/Intro/Intro.unity");..

[git] pull 전에 commit 했을 때 대처법

commit을 했는데, pull 내역이 보이지 않았어서 pull을 다 못받고 commit을 먼저 했다면 git 충돌이 날 가능성이 많죠. (아주 빈번한 실수...하하) 이 때의 간단 해결법을 알아봅시당. 우선, git commit 내역을 지워줍니다. (일단 commit 한 상태니까 내역 검색으로 살릴 수 있어요! 걱정 NoNo) git reset --hard HEAD^ 1) --hard 옵션은 돌아가려는 이력이후의 모든 내용을 지워 버리므로 커밋해야할 것들이 있는지 다시 한 번 확인해주세요. 2) HEAD^는 바로 직전 커밋 1개를 의미합니다. 여러개의 커밋이라면 HEAD~2 (2개), HEAD~3 (3개) 등의 표현을 사용해주세요. 다음으로 못 받은 pull을 받아주세요. git pull 그 다음 gi..

[C++] 해시맵(Hash Map)에 대해 알아보자 (std::unordered_map)

[본론으로 들어가기 전에...] 기존의 map은 요소가 자동으로 오름차순으로 정렬되는 이진 탐색 트리(BST) 기반이었다. 그래서 정렬이 필요하지 않은 경우에도 자동으로 정렬되어 불필요한 오버헤드가 있었다. 즉, 오버헤드를 감수하면서 map을 사용하던지, 비표준 라이브러리인 hash_map을 사용해야 했다. 그런데, C++11 부터 이런 불편함을 해소해줄 unordered_map 이 등장했다. map과 달리 이진 탐색 트리가 아니라 '해시 테이블'로 구현되어 있는 자료구조로. unorderd_map은 정렬이 자동으로 되지 않고, 요소 검색/삽입/삭제 연산이 O(1) 시간 안에 가능하다. 그래서 우리가 공부해야할 자료구조는 unordered_map 이다 ! [unordered_map(hash_map)의 특..

[C++][BAEKJOON][DP] 9456번 스티커

문제 https://www.acmicpc.net/problem/9465 9465번: 스티커 첫째 줄에 테스트 케이스의 개수 T가 주어진다. 각 테스트 케이스의 첫째 줄에는 n (1 ≤ n ≤ 100,000)이 주어진다. 다음 두 줄에는 n개의 정수가 주어지며, 각 정수는 그 위치에 해당하는 스티커의 www.acmicpc.net 문제설명 코드 #include #include using namespace std; int sticker[2][100001]; int searchMaxScore(int); int main() { int testcase = 0; cin >> testcase; for (int t = 0; t > column; fo..

[C++][프로그래머스] 괄호 변환

문제 https://programmers.co.kr/learn/courses/30/lessons/60058 코딩테스트 연습 - 괄호 변환 카카오에 신입 개발자로 입사한 "콘"은 선배 개발자로부터 개발역량 강화를 위해 다른 개발자가 작성한 소스 코드를 분석하여 문제점을 발견하고 수정하라는 업무 과제를 받았습니다. 소스를 programmers.co.kr 문제풀이 시뮬레이션 같이 문제에서 알려준 괄호변환하는 방법을 하나하나 차례로 구현하면 된다. 1. 입력이 빈 문자열인 경우, 빈 문자열을 반환합니다. 2. 문자열 w를 두 "균형잡힌 괄호 문자열" u, v로 분리합니다. 단, u는 "균형잡힌 괄호 문자열"로 더 이상 분리할 수 없어야 하며, v는 빈 문자열이 될 수 있습니다. 3. 문자열 u가 "올바른 괄호 ..

[C++][Baekjoon] 14503번 로봇 청소기

문제 https://www.acmicpc.net/problem/14503 14503번: 로봇 청소기 로봇 청소기가 주어졌을 때, 청소하는 영역의 개수를 구하는 프로그램을 작성하시오. 로봇 청소기가 있는 장소는 N×M 크기의 직사각형으로 나타낼 수 있으며, 1×1크기의 정사각형 칸으로 나누어 www.acmicpc.net 코드 #include using namespace std; void CleanArea(int, int, int); const int direction[4][2] = { {-1,0},{0,1},{1,0},{0,-1} }; //북, 동, 남, 서 int map[51][51]; int height, width; int clean_count; int main() { cin >> height >> ..

728x90