일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Digital Ocean
- css framework
- Camera Zoom
- Spring Boot
- docker
- rpg server
- MySQL
- Camera Movement
- Git
- server
- Packet Network
- Google Refund
- java
- Google Developer API
- critical rendering path
- spread 연산자
- nodejs
- draganddrop
- linux
- screencapture
- SDK upgrade
- Unity IAP
- OverTheWire
- springboot
- --watch
- Unity Editor
- unity
- express
- react
- mongoDB
- Today
- Total
목록Algorithm(c++)/Level 2 (39)
우당탕탕 개발일지
https://school.programmers.co.kr/learn/courses/30/lessons/12913 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 해결 방법scores 변수를 선언한다. 3차배열이다 . scores[i][j] 는 i행j열까지 왔을때 가능한 최대값들을 저장한다. 그런데 직전위치, 즉 i-1번째에서 몇번째열이었는지가 중요하기때문에, 차원을 한차원 늘린다. scores[i][j][0] 은 land[i-1][0] 에서부터 온 값중 최대값이다. land[i][j][1] 은 land[i-1][1] 에서 온 값중 최대값이다. 0번째 행에는 이전값이 없으므로 0이제 첫번째행부터 돌면..
https://school.programmers.co.kr/questions/80728 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 사전순으로찾다가, 내가 원하는 글자가 나오면 멈춘다. 문제는 사전순서대로 어떻게찾냐인듯.dfs를 이용해서 푼다. dfs 의 반환형이 void 가 아니라 boolean인 이유는, 원하는 단어를 찾았는지 안찾았는지를 판별하기 위함이다. 탐색순서는 다음처럼 진행된다 A [] [] [] []A A [] [] []A A A [] []A A A A []A A A A AA A A A EA A A A IA A A A OA A A A UA A A E []A A A E A... #i..
https://school.programmers.co.kr/learn/courses/30/lessons/17677 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 해결방법str1을 이용해 집합을 구한다 (a)str2을 이용해 집합을 구한다 (b)a집합의 개수 와 b집합의 개수를 구한다. 그리고 a집합과 b집합의 교집합 개수를 구한다.합집합 개수는 a집합개수 + b집합개수 - 교집합개수이다.J를 구해 반환한다.문제에서 하라는 대로 하면 되는데, 몇 가지 주의사항만 지키면 된다.'ab' , 'AB', 'aB','Ab' 는 모두 동일한 원소로 취급된다. 따라서 모두 소문자로 변환한 후에 집합에 넣어야 한다. ..
https://school.programmers.co.kr/learn/courses/30/lessons/42587 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 문제를 이해하는데 시간이 좀 걸렸다. 처음엔 priority_queue를 사용하여 쉽게 해결할 수 있을 줄알았는데, queue에서 요소를 한개씩 빼서, 뒤에 나보다 우선순위 높은 작업이 있을 경우 다시 큐에 집어넣는 작업을 하나씩 수행해야 한다. 두번째 예제에서 처럼, 동일한 우선순위를 가진 작업의 순서에도 영향을 끼치기 때문이다. 해결방법우선순위별로 작업이 몇개있는지를 저장하는 cnts을 선언한다. 이 맵은 우선순위 별로 자동으로 내림차순..
https://school.programmers.co.kr/learn/courses/30/lessons/12980 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 처음엔 BFS로 풀었는데 실패. (시간초과 발생) 하였다. 그말은 즉, 바로 답을 찾을 수 있는 로직이 있다는 의미이다. 해결 방법숫자n이 만약 2로나누어 떨어진다면, n/2 지점에서 순간이동을 할 수 있다는 의미이다. 만약 나누어 떨어지지 않는다면, 한칸을 이동해서 n-1 로 이동하고 / 2 를 시도한다. 이 방법을 계속하면서, 2로 나누어 떨어지지 않는 상황이 몇번 나오는지 확인해본다. #include using namespace std;..
https://school.programmers.co.kr/learn/courses/30/lessons/169199 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 해결방법BFS 로 풀었다. 거리정보를 저장하는 2차배열을 distmap을 생성한 뒤, 모두 INT_MAX로 설정한다. 시작지점을 찾아 distmap[sx][sy] = 0으로 설정하고, queue에 집어넣는다. queue는 검사가 필요한 목록이다.queue에서 한개씩 빼면서 상,하,좌,우 로 움직임을 시도한다. 맵 밖으로 벗어나서 움직일 수 업거나, i,j로 이동했는데 이 거리가 기존에 있는 distmap[i][j] 보다 크다면 비효율적인 이동..
https://school.programmers.co.kr/learn/courses/30/lessons/178870 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 1. 실패코드 그냥 처음부터 더해가면서 합이 k인 부분을 찾는 직관적인 방법 -> 시간초과 발생#include #include using namespace std;int s = -1; int e = -1;void change_answer(vector& seq, int i, int j){ if(s == -1){ s = i; e = j; return; } if(j-i > e-s) return; ..
https://school.programmers.co.kr/learn/courses/30/lessons/160585 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 해결 방법O의 개수가 X 개수보다 한 개 많거나, O의 개수가 X의 개수와 동일해야한다. O 가 승리했는데 X 또한 승리하는 경우는 있을 수 없다.만약 O만 승리했다면, O의 개수는 X보다 한 개 많아야 한다. O가 놓으면서 게임이 바로 종료되기 때문이다.마찬가지로, 만약 X만 승리했다면, O의 개수는 X와 동일해야 한다. X가 놓으면서 게임이 바로 종료되기 때문이다. (O가 선공)위 4가지 경우를 찾기 위해 보드 위 O의 개수 Ocnt, X..