| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 |
- server
- css framework
- screencapture
- critical rendering path
- Git
- unity
- express
- rpg server
- Digital Ocean
- Camera Movement
- Spring Boot
- Unity IAP
- spread 연산자
- linux
- java
- nodejs
- docker
- --watch
- Google Developer API
- Google Refund
- SDK upgrade
- Camera Zoom
- Unity Editor
- MySQL
- springboot
- OverTheWire
- react
- Packet Network
- mongoDB
- draganddrop
- Today
- Total
목록Algorithm(c++) (82)
우당탕탕 개발일지
https://school.programmers.co.kr/learn/courses/30/lessons/136797 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 이 문제는 DP (동적 계획법) 을 사용해야 하는 문제이다. 첫번째 문자열부터 시작해서, 결과값을 저장한다. 다음 문자열을 검사할 때, 이전 기록을 가져와 최적의답을 찾는다. 해결방법3차원 배열 m을 선언한다. m[1][2][3] 은 첫번째 문자열까지 눌렀고, 왼손이 2, 오른손이 3일때의 최솟값이다. 우리의 목표는 m[문자열사이즈] 에서의 최솟값을 찾는 것이다.m[0][4][6] = 0 을 넣는다. 이는, 시작할때 왼손에 4, 오른손에 6이..
https://school.programmers.co.kr/learn/courses/30/lessons/159993 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 해결 방법(실패)BFS를 이용하여 최단 거리를 찾으려 했다. S와 L, E 의 인덱스를 찾는다.S 에서 L 로 goSearch() , L에서 E로 goSerach() 를 수행하여 합을 리턴한다. 둘중 하나라도 -1이 나올 경우, 경로가 없다는 의미이므로 -1을 반환한다. goSearch() 는 아래와같이 동작한다.검사여부를 저장하는 visited와, 검사 대기줄인 queue를 생성한다. 시작점부터 queue에 넣고, 상,하,좌,우를 검사한다...
https://school.programmers.co.kr/learn/courses/30/lessons/148653 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 해결방법 (실패)1의자리수부터 점점 올려가면서 내려가는게 효율적일지, 10층까지 올라간다음 한칸 내려오는게 효율적일지 계산한다. 만약 5보다 작다면 내려가는게 이득이고, 5이상이라면 올라가는게 이득이다. 5라면 5칸 올라간다음 10층을 한번 내려와야 하므로, 5까지는 내려가는게 이득이다.이 방법으로 모든 자리수를 계산하면 된다...고생각했다#include #include using namespace std;int solution(int s..
https://school.programmers.co.kr/learn/courses/30/lessons/176962 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 해결 방법과제 시작시간이 빠른 순서대로 정렬한다.현재시간을 나타내는 minute 과 , 미완료 과제의 남은 작업시간을 저장하는 스택 task를 선언한다.내 작업을 시작하기에 앞서, 현재시간과 작업 시작 시간 사이의 gap 이 다른과제를 할 찬스이다.이 시간동안 스택에서 작업들을 꺼내와 작업을 수행한다. 만약 남은 작업이 없거나, 짬 나는 시간을 모두 다 사용해서 새로운 과제를 시작해야 할 시간이 오면, 그 작업을 스택에 넣고 다음으로 넘어간다..
https://school.programmers.co.kr/learn/courses/30/lessons/152996 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 해결 방법(실패)합이 N이 되는 무게들의 인덱스 정보를 ws에 저장한다. 예를들어 무게 360을 만들 수 있는 인덱스가 1,2 일경우, 360 : [1,2] 이런식으로 ws에 저장한다.한 개 씩 정보를 저장하면서 페어를 맞출 수있는 개수를 찾는다.#include #include #include #include #include #include using namespace std;int pushItem(unordered_map>& ws, int..
https://school.programmers.co.kr/learn/courses/30/lessons/42861 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 해결 방법비용이 적은 다리 순으로 나열한다.연결할 필요가 있다면 연결한다. 연결할 필요는 어떻게 판단하나?서로 연결된 지점들은 트리로 연결되어 있다. 두 지점이 연결되어있는지 확인하기 위해서는 자신의 루트노드를 찾고, 두 지점의 루트노드가 같다면 이미 다리를 이용해 연결되어있다는 의미이다. 만약 두 지점의 루트노드가 같다면 연결하지 않고 넘어간다.루트노드가 다르다면, 두 트리를 연결한다. 하나의 루트노드를 다른하나의 루트노드에 연결한다.#i..
https://school.programmers.co.kr/learn/courses/30/lessons/42892 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 해결 방법정렬을 한다. 기준은 , Y값이 가장 높으 순서로, 그다음 x값이 작은 순서대로 나열한다. BFS탐색할때처럼 만들면된다.맨 첫번째아이템이 root가 되고, 아이템 한개 씩 insertNode를 수행한다.preorder과 postorder를 수행해서 answer에 넣는다.#include #include #include #include using namespace std;struct Node{ int id,x,y; Node* ..
https://school.programmers.co.kr/learn/courses/30/lessons/214288 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 해결 방법동일한 타입의 상담을 원하는 유저들끼리 모은다. types[i] 에는 타입이 i인 고객들이 들어있다. (정렬은 이미 되어있다고 하니, 할 필요없다.)모든 타입에 상담원을 한명씩 배치한 tutors 를 만든다. tutors[i] 는 타입이 i인 부스의 상담원 수이다.이제 한명씩 상담원을 배치할건데, getWait을 이용하여 상담원이 N명일 경우 기다려야하는시간을 구한다. 현재 상담원 수 기준 기다리는 시간이 a분이고 현재 상담원..