본문 바로가기

분류 전체보기

(297)
돌 그룹 www.acmicpc.net/problem/12886 12886번: 돌 그룹 오늘 강호는 돌을 이용해 재미있는 게임을 하려고 한다. 먼저, 돌 세개는 그룹으로 나누어져 있으며 각각의 그룹에는 돌이 A, B, C개가 있다. 강호는 모든 그룹에 있는 돌의 개수를 같게 만들려고 www.acmicpc.net #include #include #include #include #include #include using namespace std; typedef struct { int a; int b; int c; }st; int main() { int arr[3]; for (int i = 0; i > arr[i]; } queueq; setcheck; q.push({arr[0],arr[1]..
자물쇠와 열쇠 programmers.co.kr/learn/courses/30/lessons/60059 코딩테스트 연습 - 자물쇠와 열쇠 [[0, 0, 0], [1, 0, 0], [0, 1, 1]] [[1, 1, 1], [1, 1, 0], [1, 0, 1]] true programmers.co.kr #include #include using namespace std; bool checkAll(vectortotalArr, int m, int n){ for(int i=0;i
순위 - 플로이드 와샬 플로이드 와샬 알고리즘으로 푸는 문제입니다. 다익스트라 알고리즘의 경우에는 하나의 정점에서 출발했을 때 다른 모든 정점으로의 최단 경로를 구하는 것입니다. 참고: spacefordeveloper.tistory.com/172 다익스트라 알고리즘 # 최단 경로 최단 경로(shortest path)문제는 정점 u와 정점 v를 연결하는 경로 중 간선들의 가중치 합이 최소가 되는 경로를 찾는 문제다. 간선의 가중치는 경우에 따라 비용, 거리, 시간 등으로 spacefordeveloper.tistory.com 플로이드 와샬 알고리즘의 경우에는 '모든 정점'에서 '모든 정점'으로의 최단 경로를 구하게 됩니다. 다익스트라 알고리즘은 현재 노드에서 가장 적은 가중치로 연결된 노드를 골라서 탐색을 해 나간다면 플로이드는 ..
데스 나이트 www.acmicpc.net/problem/16948 16948번: 데스 나이트 게임을 좋아하는 큐브러버는 체스에서 사용할 새로운 말 "데스 나이트"를 만들었다. 데스 나이트가 있는 곳이 (r, c)라면, (r-2, c-1), (r-2, c+1), (r, c-2), (r, c+2), (r+2, c-1), (r+2, c+1)로 이동할 수 있다. 크 www.acmicpc.net #include #include #include #include using namespace std; int dx[] = { -2,-2,0,0,2,2 }; int dy[] = { -1,1,-2,2,-1,1 }; int n; int bfs(int arr[200][200],int r1, int c1, int r2, int c2) { qu..
가장 먼 노드 programmers.co.kr/learn/courses/30/lessons/49189 코딩테스트 연습 - 가장 먼 노드 6 [[3, 6], [4, 3], [3, 2], [1, 3], [1, 2], [2, 4], [5, 2]] 3 programmers.co.kr #include #include #include #include #include using namespace std; int bfs( vector&vlist, int target,int n){ queueq; vectorm(n+1,0); q.push(1); m[1]=0; while(!q.empty()){ int vertex= q.front(); q.pop(); for(int i=0; i
디스크 컨트롤러 programmers.co.kr/learn/courses/30/lessons/42627 코딩테스트 연습 - 디스크 컨트롤러 하드디스크는 한 번에 하나의 작업만 수행할 수 있습니다. 디스크 컨트롤러를 구현하는 방법은 여러 가지가 있습니다. 가장 일반적인 방법은 요청이 들어온 순서대로 처리하는 것입니다. 예를 programmers.co.kr import java.util.*; class Solution { public int solution(int[][] jobs) { Arrays.sort(jobs,(o1,o2)->o1[0]-o2[0]); // 오름차순 정렬 PriorityQueue pq = new PriorityQueue((o1,o2)->o1[1]-o2[1]); //람다식을 이용해서 배열의 첫번째 자리수 ..
연구소 #include #include #include #include using namespace std; int dx[] = { -1,1,0,0 }; int dy[] = { 0,0,-1,1 }; int n, m; int bfs(vectorarr, vector&virus) { queueq; int count = 0; for (auto t : virus) { q.push(t); while (!q.empty()) { int x = q.front().first; int y = q.front().second; q.pop(); for (int i = 0; i =0 && nx=0 && ny> n; cin >> m; f..
입국심사 programmers.co.kr/learn/courses/30/lessons/43238 코딩테스트 연습 - 입국심사 n명이 입국심사를 위해 줄을 서서 기다리고 있습니다. 각 입국심사대에 있는 심사관마다 심사하는데 걸리는 시간은 다릅니다. 처음에 모든 심사대는 비어있습니다. 한 심사대에서는 동시에 한 programmers.co.kr #include #include #include #include using namespace std; long long solution(int n, vector times) { long long answer = 0; long long total =0; sort(times.begin(),times.end()); long long s = 1; long long e = times[0..