반응형

C++ 21

프로그래머스 소수찾기 [c++]

#include #include #include #include #include using namespace std; int solution(string numbers) { int answer = 0; int temp; sets; //set을 사용하여 중복되는 숫자방지 for (int i = 0; i < numbers.size(); i++) //numbers에서 한자리 수 이면서 소수인것을 찾는 반복문 { vectorv; int n; temp = numbers[i] - '0'; //정수로 변환 if (temp == 0)continue; //0,1일 경우 continue if (temp == 1)continue; for (int i = 2; i

백준 1753 c++ 최단경로

#include #include #include #include #include using namespace std; #define INF 1000000 int v, e; //정점, 간선 int start; //시작정점 int t1, t2, t3; int result[20001]; //최단경로값 저장할 배열 vectormap[300001]; void func(int s) { priority_queueq; //우선순위큐, 내림차순으로 선언, 가중치가 작은 순으로 정렬 q.push({ 0,s }); result[s] = 0; //시작점은 0 while (!q.empty()) { int num = q.top().second; // 1 2 3 4 int len = q.top().first; //0 2 3 7 q..

프로그래머스 입국심사 [c++]

#include #include #include #include #include using namespace std; long long solution(int n, vector times) { long long answer = 0; sort(times.begin(), times.end()); //오름차순정렬 long long start = 1; long long end = (long long)times[times.size() - 1] * (long long)n; //60, 가장오래걸릴수 있는 시간 long long mid = (start + end) / 2; //30 long long cnt = 0; while (start= n) //시간맞거나 여유있는 경우 { end = mid - 1; answer =..

프로그래머스 가장먼노드 [c++]

#include #include #include #include #include using namespace std; typedef struct { int num; //현재위치 int cnt; //이동 횟수 }node; bool visited[20001]; int solution(int n, vector edge) { int answer = 0; int len = edge.size(); vectorvec(len); //양방향으로 저장할 vector vectorresult(len); //이동횟수 저장할 vector for (int i = 0; i < edge.size(); i++) //양방향으로 저장 { vec[edge[i][0]].push_back(edge[i][1]); vec[edge[i][1]].pu..

반응형