일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Unity Editor
- react
- Camera Movement
- Spring Boot
- docker
- MySQL
- spread 연산자
- Git
- screencapture
- Camera Zoom
- springboot
- css framework
- critical rendering path
- OverTheWire
- Packet Network
- java
- rpg server
- mongoDB
- Google Refund
- SDK upgrade
- Google Developer API
- unity
- --watch
- draganddrop
- nodejs
- server
- Digital Ocean
- express
- Unity IAP
- linux
- Today
- Total
목록Algorithm(c++)/Level 2 (39)
우당탕탕 개발일지
https://school.programmers.co.kr/learn/courses/30/lessons/388353 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 뚫려있는 길을 어떻게 효율적으로 찾는지 문제이다. storage에 대해, -는 비어있고 나가는길이 존재하는 칸 , ^는 비어있지만 나가는 길이 없는 칸을 의미한다. 모든 커맨드를 수행하면서 칸을 - 혹은 ^로 세팅한다. 만약 맵의 가장자리에 있거나, storage[i][j] 의 상하좌우중 뚫려있다는 의미의 '-' 가 하나라도 있다면, storage[i][j] 또한 '-'이다.AA, BB 처럼 연속된 명령어가 나왔고, storage[i][j]..
https://school.programmers.co.kr/learn/courses/30/lessons/131130 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 모든 카드를 돌면서 상자번호를 매긴다. 만약 상자번호가 이미 0이 아니라면 할당이 끝난것이므로 break상자번호 갱신이 가능하다면 갱신한뒤 index를 다음검사 인덱스로 설정한다.이 작업을 완료했을 때, counts 배열의 개수는 총 박스의 수가 되고, counts[i] 의 요소는 i+1번 상자그룹의 개수가 된다. 만약 counts배열의 개수가 1이라면, 상자가 1개밖에 나오지 않았다는 의미이므로 0을 리턴한다.counts 배열 안에서 가장..
https://school.programmers.co.kr/learn/courses/30/lessons/12923 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 1. 각 블록에는 자신의 약수 중 가장 큰수를 저장한다.2. 수는 10,000,000보다는 작아야한다. 약수를 검사하는 횟수를 최대한 줄이기 위해서 , 숫자의 제곱근에서 시작한다. 약수 i를 찾고, i와 짝이되는 slot/i 두 숫자를 검사한다.만약 slot/i 가 MAX보다 작다면 그 수가 가장 큰 약수이다.아니라면 다음 약수 짝을 검사한다. #include #include #include using namespace std;vector ..
https://school.programmers.co.kr/learn/courses/30/lessons/150368 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 1. 10%,20%,30%,40% 중 하나를 고르는 7개의 조합을 모두 찾는다.2. 이 모든 조합들에 대해 총판매액과 플러스가입유저를 찾는다.3. 플러스가입 유저가 제일많으면서 총 판매액이 가장 높은 경우를 리턴한다.#include #include using namespace std;vector answer(2,0);vector rateList = {10,20,30,40};vector> rateCombinations;void getCo..
https://school.programmers.co.kr/learn/courses/30/lessons/42890 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 너가어떻게 level 2문제니? 산넘어산이다1. 모든 가능한 조합 구하기2. 이 가능한 조합중에서 유일성을 만족하는 키만 추려내기3. 이 추려낸 키 중에서, 최소성을 만족하는 키 찾기. 가능한 조합은 combination함수이다. pick.size() == count일 때 원하는 수만큼 조합이 완료된거고, 거기에서 2번을 바로 진행하여 유일성을 만족할 경우에 keys에 넣어준다.void combination(vector& pick, int ..
https://school.programmers.co.kr/learn/courses/30/lessons/81302 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 해결 방법테이블에서 P가 나오면, 검사범위를 설정한다.그 범위안에서 P가 나왔을때 만약 맨해튼거리가 1이면 false를 바로 리턴한다.아니라면, 두개의 P자리 (x,y) 와 (i,j) 사이에 X가 한개라도 없으면 바로 false를 리턴한다. #include #include #include #include using namespace std;bool checkPlace(vector tables, int i, int j){ //검사해야하는..
https://school.programmers.co.kr/learn/courses/30/lessons/77885 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 해결 방법숫자를 1씩 증가시켜서 검사할 경우, 시간초과가 발생한다. 값이 0010 이라면, 그다음으로 큰 수는 0011 이다. 처음으로 나오는 0을 1로 변환했다.값이 0001 이라면, 그 다음으로 큰 수는 0010 이다. 처음으로 나오는 0을 1로 변환하고, 그 앞의 1을 0으로 변환했다.이 내용을 종합하면, 2비트 이하로 다르면서 가장 작은 수를 구하는 방법은 다음과같다.num을 2진수변환하면서 배열 digits에 넣는다. digits[0..
https://school.programmers.co.kr/learn/courses/30/lessons/12900 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 해결방법동적계획법으로 푼다. N길이의 타일을 길이가 1인타일과 길이가 2인 타일을 적절히 조합하여 놓는 경우의 수를 구하는 문제이다. N길이의 타일을 까는 방법은 2가지가 있다. N-1 길이까지 타일을 깐다음 세로타일깔기.N-2 길이까지 타일을 깐다음 가로타일깔기. 따라서 f(n) = f(n-1) + f(n-2) 라는 결과가 나오게된다.#include #include using namespace std;int solution(int n) { ..