목록전체 글 (233)
Life Engineering
https://programmers.co.kr/learn/courses/30/lessons/17676 >T; for (int j=0; j 내 다음 애의 시작 시간 이래도 구간에 속한 거니까 +1 해준다.
https://programmers.co.kr/learn/courses/30/lessons/42888 코딩테스트 연습 - 오픈채팅방 오픈채팅방 카카오톡 오픈채팅방에서는 친구가 아닌 사람들과 대화를 할 수 있는데, 본래 닉네임이 아닌 가상의 닉네임을 사용하여 채팅방에 들어갈 수 있다. 신입사원인 김크루는 카카오톡 오 programmers.co.kr #include #include #include #include using namespace std; vector split(string input, char delimiter) { vector answer; stringstream ss(input); string temp; while (getline(ss, temp, delimiter)) { answer.pus..
https://programmers.co.kr/learn/courses/30/lessons/60057 코딩테스트 연습 - 문자열 압축 데이터 처리 전문가가 되고 싶은 "어피치"는 문자열을 압축하는 방법에 대해 공부를 하고 있습니다. 최근에 대량의 데이터 처리를 위한 간단한 비손실 압축 방법에 대해 공부를 하고 있는데, 문 programmers.co.kr #include #include #include using namespace std; class bucket{ public: int index; string pstr; int cnt; bucket(int index, string pstr, int cnt){ this->index=index; this->pstr=pstr; this->cnt=cnt; } };..
https://www.acmicpc.net/problem/17472 17472번: 다리 만들기 2 첫째 줄에 지도의 세로 크기 N과 가로 크기 M이 주어진다. 둘째 줄부터 N개의 줄에 지도의 정보가 주어진다. 각 줄은 M개의 수로 이루어져 있으며, 수는 0 또는 1이다. 0은 바다, 1은 땅을 의미한다. www.acmicpc.net #include using namespace std; int graph[11][11]; bool visited[11][11]; int parents[7]; int N, M; int dy[4]={-1,1,0,0}; int dx[4]={0,0,-1,1}; class Node{ public: int start; int end; int cost; Node(int start, int ..
https://www.acmicpc.net/problem/7578 7578번: 공장 어떤 공장에는 2N개의 기계가 2열에 걸쳐 N개씩 배치되어 있다. 이 2개의 열을 각각 A열과 B 열이라고 부른다. A열에 있는 N개의 기계는 각각이 B열에 있는 N개의 기계와 하나씩 짝을 이루어 케이블 www.acmicpc.net #include #define ll long long using namespace std; ll *tree; vector v; ll query(int left, int right, int node, int queryLeft, int queryRight){ if (right
https://www.acmicpc.net/problem/1238 1238번: 파티 첫째 줄에 N(1 ≤ N ≤ 1,000), M(1 ≤ M ≤ 10,000), X가 공백으로 구분되어 입력된다. 두 번째 줄부터 M+1번째 줄까지 i번째 도로의 시작점, 끝점, 그리고 이 도로를 지나는데 필요한 소요시간 Ti가 들어 www.acmicpc.net #include #define INF 987654321 using namespace std; class Node{ public: int id; int cost; Node(int id, int cost){ this->id=id; this->cost=cost; } }; struct compare{ bool operator()(const Node& a, const Node..
https://www.acmicpc.net/problem/17070 17070번: 파이프 옮기기 1 유현이가 새 집으로 이사했다. 새 집의 크기는 N×N의 격자판으로 나타낼 수 있고, 1×1크기의 정사각형 칸으로 나누어져 있다. 각각의 칸은 (r, c)로 나타낼 수 있다. 여기서 r은 행의 번호, c는 열의 www.acmicpc.net #include using namespace std; enum Pos {garo, sero, degak}; int house[17][17]; class Point{ public: int y; int x; Pos pos; Point(int y, int x, Pos pos){ this->y=y; this->x=x; this->pos=pos; } }; bool isPossibl..
https://www.acmicpc.net/problem/3830 3830번: 교수님은 기다리지 않는다 교수님의 질문 (? a b)이 입력으로 들어올 때 마다, 지금까지 측정한 결과를 바탕으로 a와 b의 무게 차이를 계산할 수 있다면, b가 a보다 얼마나 무거운지를 출력한다. 무게의 차이의 절댓값이 1,000, www.acmicpc.net #include #define ll long long using namespace std; int parents[100001]; ll diff[100001]; //root 와의 차이 int find(int a){ if (parents[a]==a){ return a; } int p=find(parents[a]); diff[a]+=diff[parents[a]]; //갱신 ..
https://www.acmicpc.net/problem/2357 2357번: 최솟값과 최댓값 N(1 ≤ N ≤ 100,000)개의 정수들이 있을 때, a번째 정수부터 b번째 정수까지 중에서 제일 작은 정수, 또는 제일 큰 정수를 찾는 것은 어려운 일이 아니다. 하지만 이와 같은 a, b의 쌍이 M(1 ≤ M ≤ 100 www.acmicpc.net #include #define MAX 1000000001 using namespace std; long* tree_min; long* tree_max; void init(int S){ for (int i=S-1; i>0; i--){ tree_min[i]=min(tree_min[i*2], tree_min[i*2+1]); tree_max[i]=max(tree_ma..
https://www.acmicpc.net/problem/9466 9466번: 텀 프로젝트 이번 가을학기에 '문제 해결' 강의를 신청한 학생들은 텀 프로젝트를 수행해야 한다. 프로젝트 팀원 수에는 제한이 없다. 심지어 모든 학생들이 동일한 팀의 팀원인 경우와 같이 한 팀만 있을 www.acmicpc.net #include using namespace std; int student[100001]; bool visited[100001]; bool group[100001]; int cnt; void dfs(int x){ visited[x]=true; int next=student[x]; if (!visited[next]){ dfs(next); } else if (!group[next]){ //방문 전에 했지만..