일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- --watch
- Unity Editor
- springboot
- screencapture
- Google Refund
- spread 연산자
- nodejs
- linux
- OverTheWire
- express
- draganddrop
- Google Developer API
- docker
- unity
- Digital Ocean
- rpg server
- Camera Movement
- server
- MySQL
- Git
- Packet Network
- Camera Zoom
- Spring Boot
- Unity IAP
- mongoDB
- critical rendering path
- react
- css framework
- SDK upgrade
- java
- Today
- Total
목록Algorithm(c++) (82)
우당탕탕 개발일지
https://school.programmers.co.kr/learn/courses/30/lessons/72411 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 해결 방법가능한 조합을 모두 찾고, unordered_map 에 ("abc",3개) 처럼 등장한 개수를 모두 저장한다.조합중에 개수가 가장많은것을 찾고, 그 조합을 answer에 넣는다.해결방법은 매우 간단한데, 가능한 조합을 어떻게 모두 찾을것인가? 재귀를 이용하여 풀었다. 실무에서는 재귀를 거의 안썼던것같은데 알고리즘 문제에서는 재귀가 꽤 많이 사용되는 듯 하다.#include #include #include #include #include..
https://school.programmers.co.kr/learn/courses/30/lessons/154539 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 해결 방법뒤에 나보다 큰 수를 for문으로 찾으면 시간초과 문제가 발생한다. 적절한 자료구조를 이용해 빨리찾는 것이 핵심.스택을 만들고, 내 앞에 있는 숫자보다 작으면 그냥 넣는다. 만약 [9,3,2,5] 가 있다면 9 > 3 > 2 까지는 그대로 스택에 넣는다. 참고로 스택에는 index값을 넣는다. 만약 앞에 넣은 숫자보다 큰 숫자가 나왔다면,이제 작업을 시작할 때이다. 큐에서 하나씩 빼면서, 나자신보다 작은지 검사하여 만약 나보다 작..

https://school.programmers.co.kr/learn/courses/30/lessons/154538 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 해결 방법(실패)이게 DFS 인지도 모르고 우선 코드를 짯는데, 11번만 시간초과가 발생했다. 인터넷에 검색해보니, DFS는 경우의 수가 많아질 때 검색량이 많아질 수도 있으니, BFS를 사용하라는 조언이 있었다. %6 부분을 넣은것은 시간을 좀더 줄일 수 있을까 하여 시도해본건데, 시간을 많이 줄이지는 못했나보다. 이참에 BFS를 공부하는 좋은 기회이다. 아래는 깊이우선탐색 DFS이다. #include #include #include ..
https://school.programmers.co.kr/learn/courses/30/lessons/150365?language=cpp 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 해결 방법이동거리 K가 고정되어있다. 시작지점에서 끝 지점에 가기 위해서 가야하는 횟수는 정해져있다. (오른쪽2번, 아래2번) 이런식이다. 예제 1번에서, 오른쪽1번, 왼쪽2번만 가면 도달할 수 있는데 총 5번을 이동하라고 했다. 즉, 남은 2번은 위-아래를 하던지 왼-오 를 하던지, 의미없는 이동을 하라는 의미이다. 왼,오,위,아래를 각각 필수적으로 몇번 이동해야하는지를 찾는다. (x,y)와 (a,b)를 다이렉트로 간..
https://school.programmers.co.kr/learn/courses/30/lessons/152995# 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 해결 방법총합이 큰 순서대로 정렬한다. 두 점수 모두 나보다 높은 사원의 경우, 무조건 나보다 앞에 있게 된다. 총합이 큰 사원부터 랭크를 매긴다. 방법은 다음과 같다.내 앞에있는 사원중에 두 점수가 모두 나보다 높을 경우, 나는 탈락이므로 랭크를 매기지 않고 끝낸다.랭크를 부여받을 수 있을 경우, 내 바로 앞 사원(점수가 유효한 사원) 의 점수를 비교해서 점수가 같은지 아닌지 체크한다.점수가 같다면 랭크는 똑같고, 다음 사원의 랭크만..
https://school.programmers.co.kr/learn/courses/30/lessons/258707# 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 해결 방법(실패)생각을 조금 바꿔서, 매 턴 두장의 카드를 모두 손에 들 수 있고, 사용할때 코인을 지불하는 것으로 생각했다.hands에는 내가 현재 들고있는 카드가 들어있다.매 웨이브마다, 2장의 카드를 손에 넣은 뒤, 가장 cost 가 적은 쌍을 손에서 버리고 "성공"을 리턴한다.만약 성공하지 못했다면 해당웨이브에서 끝낸다.만약 모든 카드더미를 다 소진했다면 그 다음웨이브에서 끝낸다.#include #include #include #i..
https://school.programmers.co.kr/learn/courses/30/lessons/42577 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 해결 방법 1 (실패)문제 자체는 간단한데, 포인트는 어떻게하면 효율적으로 찾을 수 있는지이다. 길이 순서대로 정렬한다.앞에있는것이 무조건 접두사가 될테니, 자신 기준 뒤에있는 애들을 검사해본다.이렇게 풀었는데, 효율성 검사에서 2개 실패를 받았다.#include #include #include using namespace std;bool compare(string a, string b){return a.size() phone_book) { ..
https://school.programmers.co.kr/learn/courses/30/lessons/154540 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 해결 방법이전에 풀었던 석유 시추와 비슷한 문제인데, 다른 점이라 하면 칸마다 수치가 다르다는 점이다. 석유시추 문제를 풀 땐0 : 석유없음 1 : 미검사 상태 2 이상 : 덩어리 id 부여받음 으로 행렬을 수정하면서 재귀로 문제를 풀었었다. 비슷하게, 이번 문제에서는0 : 섬 없음 1~9: 미검사 10이상 :섬id 부여받음 으로 해결할 수 있다. 석유시추 문제는 여기있다.https://journal-devchop.tistory.com..