문제 링크 코딩테스트 연습 - 방문 길이 programmers.co.kr 풀이 범위 검사, 방문 이력 검사 함수와 x, y는 row, column으로 대조하여 풀었다. // Node 구조체 row, column의 int 타입을 가지며 1)생성자와 2)복사 생성자, 3)비교 연산자 오버로딩, 4)대입 연산자 오버로딩을 정의하여 다른 외부에서 편하게 사용하였다.(참고로 Java에서는 this가 참조자고 C++에서는 this가 포인터라는 것을 일깨워줌) // check_range 함수 범위 체크 함수. size를 받아 범위를 초과하는지 체크한다. // check_visit 함수 방문 이력 체크 함수. tuple을 모아놓은 vector 컨테이너를 방문 이력으로 참조자를 사용하여 갱신(push_back)되도록 한..
문제 링크 코딩테스트 연습 - 숫자 게임 xx 회사의 2xN명의 사원들은 N명씩 두 팀으로 나눠 숫자 게임을 하려고 합니다. 두 개의 팀을 각각 A팀과 B팀이라고 하겠습니다. 숫자 게임의 규칙은 다음과 같습니다. 먼저 모든 사원이 무작위로 � programmers.co.kr 풀이 주어진 문제가 구하는 것은 "최대 승점"이다. A팀의 점수보다 큰 B팀의 점수 중에서 최소 값으로 1경기씩 나간 것이 "최대 승점"이다. 그래서 sort로 정렬해서 할까하다가 priority_queue에 넣고 (넣은 방향 기준)내림차순 정렬로 하나씩 빼면서 승점을 올렸다. // 요약 1) 우선순위 큐에 push 2) 승점 추가(A팀의 점수보다 큰 B팀의 점수 중 최소 값을 결정) 반복문(B팀원의 수가 없을 때까지) { A팀원 숫..
문제 링크 코딩테스트 연습 - 기지국 설치 N개의 아파트가 일렬로 쭉 늘어서 있습니다. 이 중에서 일부 아파트 옥상에는 4g 기지국이 설치되어 있습니다. 기술이 발전해 5g 수요가 높아져 4g 기지국을 5g 기지국으로 바꾸려 합니다. 그런데 5 programmers.co.kr 풀이 전달되지 않는 범위를 ranges 컨테이너에 담아서 최소 개수를 리턴하여 풀었다. 최소 개수만을 리턴하는 문제이므로 전달되지 않는 범위(vector 컨테이너 값) / 전달 범위(2w+1)가 최소 개수고 전달되지 않는 범위(vector 컨테이너 값) % 전달 범위(2w+1)로 나머지가 있다면 기지국 1개를 더 추가해준다. 더보기 #include #include using namespace std; // 아파트 개수 n, 사전 기..
문제 링크 코딩테스트 연습 - 배달 5 [[1,2,1],[2,3,3],[5,2,2],[1,4,2],[5,3,1],[5,4,2]] 3 4 6 [[1,2,1],[1,3,2],[2,3,2],[3,4,3],[3,5,2],[3,5,3],[5,6,1]] 4 4 programmers.co.kr 풀이 자신의 점에서 모든 점까지의 최소 거리를 구하는 "다익스트라"문제다. 우선순위 큐를 이용해 풀었다. 우선순위 큐의 정렬방식이 디폴트로 오름차순으로 먼저 나오는 것이 최소값이지만 pair의 first로 기준하여 정렬하기 때문에 second에 cost(weight)값을 기준으로 정렬하기 위해서 struct cmp 구조체에서 () 연산자를 오버로딩(?)한다. 순서는 1) 초기화, 2) 다익스트라 로 진행한다. 1) 초기화 ve..
문제 링크 코딩테스트 연습 - 길 찾기 게임 [[5,3],[11,5],[13,3],[3,5],[6,1],[1,3],[8,6],[7,2],[2,2]] [[7,4,6,9,1,8,5,2,3],[9,6,5,8,1,4,3,2,7]] programmers.co.kr 풀이 전위 순회(preorder), 후위 순회(postorder)를 리턴하는 문제다. Node 구조체를 만들어 order하였다. 1단계) node들을 vector 컨테이너에 담기 2단계) vector 컨테이너에 있는 node들을 y값으로 정렬(순회하면서 노드들을 추가하기 위해) 3단계) 이진트리 생성(y값은 미리 정렬했으니 x값만 신경썼다) - 부모의 x보다 작으면 left, 부모의 x보다 크면 right 4단계) order() - 전위 순회는 먼저 방..
문제 링크 코딩테스트 연습 - GPS edge_list [[1, 2], [1, 3], [2, 3], [2, 4], [3, 4], [3, 5], [4, 6], [5, 6], [5, 7], [6, 7]] programmers.co.kr 풀이 어렵다... 풀이를 봐도 처음에 이해하기 어려웠다. 주석으로 써놓긴 했지만 DP 문제로서 풀이는 최소 오류 수정값을 넣으면서 진행해간다. // 변수들 1) adj[201]; 이 변수는 한 점의 연결된 정점들을 모아둔 vector 컨테이너라고 보면된다. 201개로 설정한 이유는 정점은 1~n이므로 넘버링 되어 있기 때문이다. ex) adj[0] = 1, adj[0] = 2 라면 0에 연결된 점은 1과 2가 있다. 물론 문제에서는 양방향이기 때문에 adj[1] = 0, ad..
[2020-09-24] 영상 Object Mode vs Edit Mode 더보기 Tab으로 전환 Object Mode는 Object 단위 Edit Mode는 Vertex, Edge, Face 단위 in Object 기준점(origin) 더보기 기준점으로 움직이거나 크기를 키우거나 돌리거나 작용점이라 보면 된다(내가 조작하는 기준) 다른 3D 엔진에서는 Pivot으로 불린다. Object Mode에서는 주황점이 기준 Edit Mode에서는 Click한 것이 기준 Outliner 더보기 (게임 엔진으로 유명한) Unity 엔진에서는 "Hierarchy"로 불린다. Collection: 전체를 아우르는 말(ex. 학용품, 필기구 등) Object: 부품, 객체(ex. 연필, 샤프, 지우개, 필통 등) Shor..
[2020-09-17] 영상 Blender 소개(나무 위키) 더보기 1) 3D 엔진이지만 2D 그래픽 제작도 가능 2) 오픈 소스(무료 + 상업적 이용 가능) - 버전 업데이트가 자주 된다(Steam 이용하여 자동 업데이트 가능) - 네덜란드 기업 엔진으로 개발했다가 사업이 실패한 후 후원을 받고 오픈소스로 공개 3) Linux, Windows, macOS 모두 지원 가능 4) 설치 파일 용량은 120 MB, 디스크 용량은 306 MB 정도. 5) 단축키로 빠르게 작업 가능 6) 활용 사례 - 게임: 엔진으로 사용되는 Unity 엔진이 Blender와 호환성이 좋다. - 애니메이션, 영화 : 넷플릭스 애니메이션, 신과함께, 스파이더맨2, 캡틴 아메리카: 윈터 솔져의 VFX(Visual Effects, 시..