쾌락없는 책임 (공부)/알고리즘 문제풀이
-
[Algorithm] 백준 18185 라면 사기 (Small) - C++, 그리디쾌락없는 책임 (공부)/알고리즘 문제풀이 2022. 3. 3. 22:26
18185번: 라면 사기 (Small) 라면매니아 교준이네 집 주변에는 N개의 라면 공장이 있다. 각 공장은 1번부터 N번까지 차례대로 번호가 부여되어 있다. 교준이는 i번 공장에서 정확하게 Ai개의 라면을 구매하고자 한다(1 ≤ i www.acmicpc.net #include #include using namespace std; int factorys[10003]; int n; int answer = 0; int main(){ // init ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0); // input cin >> n; for(int i = 1; i > factorys[i]; // solve for(int i = 1; i factorys[i+2]){ ..
-
[Algorithm] 프로그래머스 기능개발 - C++쾌락없는 책임 (공부)/알고리즘 문제풀이 2022. 3. 2. 20:53
코딩테스트 연습 - 기능개발 프로그래머스 팀에서는 기능 개선 작업을 수행 중입니다. 각 기능은 진도가 100%일 때 서비스에 반영할 수 있습니다. 또, 각 기능의 개발속도는 모두 다르기 때문에 뒤에 있는 기능이 앞에 있는 programmers.co.kr #include #include #include using namespace std; const int MAX = 100; vector solution(vector progresses, vector speeds) { vector answer; queue q; // make input for(int i = 0; i < progresses.size(); i++){ int developSpeed = speeds[i]; int leftDevelop = MAX -..
-
[Algorithm] 프로그래머스 가장 큰 정사각형 찾기 - C++쾌락없는 책임 (공부)/알고리즘 문제풀이 2022. 3. 1. 17:51
코딩테스트 연습 - 가장 큰 정사각형 찾기 [[0,1,1,1],[1,1,1,1],[1,1,1,1],[0,0,1,0]] 9 programmers.co.kr #include #include #include using namespace std; int solution(vector board) { int answer = board[0][0]; for(int i = 1; i < board.size(); i++){ for(int j = 1; j < board[i].size(); j++){ if(board[i][j]){ board[i][j] = min(board[i-1][j-1], min(board[i-1][j], board[i][j-1])); board[i][j]++; answer = max(board[i][j],..
-
[Algorithm] 프로그래머스 카펫 - C++쾌락없는 책임 (공부)/알고리즘 문제풀이 2022. 3. 1. 17:11
코딩테스트 연습 - 카펫 Leo는 카펫을 사러 갔다가 아래 그림과 같이 중앙에는 노란색으로 칠해져 있고 테두리 1줄은 갈색으로 칠해져 있는 격자 모양 카펫을 봤습니다. Leo는 집으로 돌아와서 아까 본 카펫의 노란색과 programmers.co.kr #include #include using namespace std; vector solution(int brown, int yellow) { vector answer; int size = brown + yellow; for(unsigned height = 3; height < size; height++){ if(size % height == 0){ int width = size / height; int widthY = width - 2; int height..
-
[Algorithm] 프로그래머스 단속카메라 - C++, 그리디쾌락없는 책임 (공부)/알고리즘 문제풀이 2022. 3. 1. 16:31
코딩테스트 연습 - 단속카메라 [[-20,-15], [-14,-5], [-18,-13], [-5,-3]] 2 programmers.co.kr #include #include #include using namespace std; int solution(vector routes) { int answer = 1; // sort sort(routes.begin(), routes.end()); // solve int prev = routes[0][1]; for(unsigned i = 1; i routes[i][1]) prev = routes[i][1];..
-
[Algorithm] 백준 2887 행성 터널 - C++, 크루스칼 알고리즘쾌락없는 책임 (공부)/알고리즘 문제풀이 2022. 2. 28. 22:27
2887번: 행성 터널 첫째 줄에 행성의 개수 N이 주어진다. (1 ≤ N ≤ 100,000) 다음 N개 줄에는 각 행성의 x, y, z좌표가 주어진다. 좌표는 -109보다 크거나 같고, 109보다 작거나 같은 정수이다. 한 위치에 행성이 두 개 이 www.acmicpc.net #include #include #include using namespace std; int n; vector posX; vector posY; vector posZ; vector edges; // distance, index, index int parent[100001]; int findParent(int x){ if(x == parent[x]) return x; return parent[x] = findParent(parent..
-
[Algorithm] 백준 10026 적록색약 - C++, BFS쾌락없는 책임 (공부)/알고리즘 문제풀이 2022. 2. 27. 21:13
10026번: 적록색약 적록색약은 빨간색과 초록색의 차이를 거의 느끼지 못한다. 따라서, 적록색약인 사람이 보는 그림은 아닌 사람이 보는 그림과는 좀 다를 수 있다. 크기가 N×N인 그리드의 각 칸에 R(빨강), G(초록) www.acmicpc.net #include #include #include using namespace std; int n, regionCount1 = 0, regionCount2 = 0; const char R = 'R', G = 'G'; char map[101][101]; bool visit[101][101]; int moveX[] = { 0, 0, 1, -1 }; int moveY[] = { 1, -1, 0, 0 }; bool isOut(int x, int y){ if(x < ..
-
[Algorithm] 프로그래머스 프린터 - C++, 큐, 우선순위 큐쾌락없는 책임 (공부)/알고리즘 문제풀이 2022. 2. 26. 20:36
코딩테스트 연습 - 프린터 일반적인 프린터는 인쇄 요청이 들어온 순서대로 인쇄합니다. 그렇기 때문에 중요한 문서가 나중에 인쇄될 수 있습니다. 이런 문제를 보완하기 위해 중요도가 높은 문서를 먼저 인쇄하는 프린 programmers.co.kr #include #include #include using namespace std; int solution(vector priorities, int location) { int answer = 0; priority_queue pq; queue q; // priority, index for(int i = 0; i < priorities.size(); i++){ pq.push(priorities[i]); q.push(make_pair(priorities[i], i))..