일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 29 | 30 | 31 |
- screencapture
- Camera Movement
- rpg server
- Unity Editor
- --watch
- java
- docker
- OverTheWire
- Digital Ocean
- nodejs
- mongoDB
- springboot
- Google Developer API
- critical rendering path
- css framework
- Packet Network
- MySQL
- Camera Zoom
- express
- Spring Boot
- SDK upgrade
- Git
- server
- unity
- draganddrop
- Unity IAP
- spread 연산자
- linux
- Google Refund
- react
- Today
- Total
목록Algorithm(c++)/Level 3 (35)
우당탕탕 개발일지
https://school.programmers.co.kr/learn/courses/30/lessons/12979 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 해결 방법통신이 원활히 되는 right 값을 저장하고있는다. station을 돌면서, 어디서부터 어디까지 통신이 안되는지를 찾는다. 그 구간에 기지국이 몇개 필요한지 찾아서 answer에 더해주고, right값을 갱신한다. 예제 1로 풀어보기처음 right = 0 으로 시작한다. stations[0] = 4이고 w = 1이므로, 3번아파트까지는 통신이 원활하다. 즉, left = 3이다. 1번~2번아파트에 기지국 설치가 필요하다. 기지국 설치..
https://school.programmers.co.kr/learn/courses/30/lessons/42884 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 해결 방법진출 지점이 앞부분인 차량순으로 정렬한다. (routes[a][1] 맨 앞 차부터, 나갈때 단속카메라를 설치한다. 즉, routes[i][1] 부분에 감시카메라를 설치한다.만약 현재 설치된 카메라지점안에 차량이 있다면, 즉, 진입부분이 카메라보다 앞에 있다면, 카메라를 설치할 필요가 없으므로 그냥 넘어간다. 만약 현재 카메라지점에 내 차량이 포함되지 않는다면 , 내 진출부분에 카메라를 설치한다. #include #include #inc..
https://school.programmers.co.kr/learn/courses/30/lessons/12987 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 해결 방법두 배열을 오름차순으로 정렬한다.가장 큰값부터 비교를 한다. 만약 B 가 이길 수 있는 상황이라면 A와 B가 대결했음 처리를 하고, a++, b++ 한 뒤 다음으로 넘어간다.만약 A가 B보다 크다면, A를 이길 수 있는 B는 없다는 의미이다. 그러므로 졌다고 판단하고 A를 넘긴다. B는 가장 작은 수로 대결할것이므로, B의 인덱스인 b는 증가하지 않고 A의 인덱스만 증가시킨다.#include #include #include usin..
https://school.programmers.co.kr/learn/courses/30/lessons/12938 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 해결 방법처음엔 [1,1,1,1...,1] 부터시작하여, 하나씩 더하는 방식으로 모든 경우의 수를 구해서 풀었다. 그러나 시간초과가 발생했다. 탐색은 아니고, 균등하게 분배할 수록 곱이 커진다는 것을 이용하여 푸는 문제였다. N개짜리 배열을 만들고 거기에 최대한 균등하게 배분한 뒤, 남은 수는 각 원소에 1씩 더하는 방법으로 간단하게 해결할 수 있는 문제였다. #include #include using namespace std;vector ..
https://school.programmers.co.kr/learn/courses/30/lessons/42628 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 해결 방법멀티셋은 자동으로 정렬이 되며, 중복값을 허용하는 자료구조이다. 멀티셋의 맨 앞 요소는 가장 작은 값이, 맨 뒤 요소는 가장 큰 값이들어온다. #include #include #include #include using namespace std;vector solution(vector operations) { vector answer; multiset s; for(int i = 0; i>command >> numstr..
https://school.programmers.co.kr/learn/courses/30/lessons/43105 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 해결 방법문제를 푸는 방법은 다양하게 있으나, 완전탐색으로 풀 경우 시간초과가 발생한다. 이때는 동적계획법을 사용해야한다. 또다른 triangle 인 tree변수를 만들어서, 그 자리에 올수있는 최대값만 저장하는 방식으로 문제를 푼다.정수삼각형의 가운데요소는 다양한 경로로 도달할 수 있는데, 그중 가장 큰 값으로 갱신하면서 트리를 한줄씩 검사하는 방법이다. #include #include #include using namespace std;..
https://school.programmers.co.kr/learn/courses/30/lessons/60062 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 해결 방법(실패, 시간초과)가장 많이 걸을 수 있는 친구 순서대로 나열한다.첫 번째 친구부터, 각 지점 (시계, 반시계) 를 모두 돌아보며 완전 탐색을 진행한다.만약 남은 외벽이 없거나, 더이상 친구가 없다면 재귀를 종료한다.#include #include #include #include using namespace std;vector friends;int max_friend;int wall_length= 0;int answer = -1;int..
https://school.programmers.co.kr/learn/courses/30/lessons/150367 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 해결 방법주어진 수를 이진수로 변환하고, 배열 num에 넣는다.이진수 배열 num를 이용해 이진트리를 만든다.이진트리가 적합한지 판단한다. 만약 더미노드가 1을 자식으로 보유하고있다면, 적합하지 않다는 의미이다주의할 점이진수 배열 num의 개수를 꽉찬 이진트리 개수와 맞게 해야한다. 이진수가 모두 들어갈 수 있는 이진트리의 depth를 찾아 총 필요한 노드의 개수를 찾고, 앞을 0으로 채운다.이진수 배열 num은 거꾸로 저장되어있다. num이..