프로그래머스 C++ 96

[C/C++] programmers Level 1 달리기 경주 - 참고

코드 #include #include #include // 해시 #include // swap : 두 변수의 값을 교환 using namespace std; vector solution(vector players, vector callings) { vector answer=players; unordered_map hashmap; // string : 선수 이름, int : 순위 (인덱스) for(int i=0;i 4위 -> 3위 swap(answer[idx-1], answer[idx]); // answer 값에서 해설진이 부른 선수와 앞 순위 선수 등수 변경 } return answer; }

[C/C++] programmers Level 2 다리를 지나는 트럭

코드 #include // 큐 #include using namespace std; int solution(int bridge_length, int weight, vector truck_weights) { int answer = bridge_length; // 마지막 지나가는 트럭 시간 int index=0; // 인덱스 값 int sum=0; // 다리에 최대 올라갈 수 있는 무게 비교 값 queue q; while(true){ if(index==truck_weights.size()){ break; } answer++; if(q.size()==bridge_length){ // q의 크기가 다리에 올라갈 수 있는 트럭 수와 같아지는 경우 sum=sum-q.front(); // 무게 비교값에서 다리를 지난..

[C/C++] programmers Level 0 평행

코드 #include using namespace std; int solution(vector dots) { int answer = 0; // 점 네개로 두개 씩 이었을 경우 -> 경우의 수 세 가지 연산 후 비교 // abs를 이요한 연산에 if(x1==x2 && y1==y2)는 시간초과 double x1=dots[0][0]-dots[1][0]; double y1=dots[0][1]-dots[1][1]; double x2=dots[2][0]-dots[3][0]; double y2=dots[2][1]-dots[3][1]; if(x1/y1 == x2/y2){ return 1; } x1=dots[0][0]-dots[2][0]; y1=dots[0][1]-dots[2][1]; x2=dots[1][0]-dots[..

[C/C++] programmers Level 3 단속카메라 (복습)

코드 #include #include // sort using namespace std; int solution(vector routes) { int answer = 1; // 기본 카메라 1대 sort(routes.begin(), routes.end()); // 오름 차순 정렬 int check = routes[0][1]; // 현재 차가 나가는 시점 for(const auto& r : routes){ if(checkr[1]){ // 현재 차가 나가는 시점이 뒤 차가 나가는 시점보다 클 때 check=r[1]; // 뒤 차가 나가는 시점으로 정정 } } return answer; }